To Mediate is the Message (a brief history of indirection) Glen Daniels Independent Technologist
|
|
- Nathan Booth
- 6 years ago
- Views:
Transcription
1 To Mediate is the Message (a brief history of indirection) Glen Daniels Independent Technologist
2 Your Presenter
3 What You re Going To Learn Today A Brief History of Indirection and Abstraction Programming patterns and SOA patterns How to use mediation to do SOA right Things to watch out for
4 An Aphorism Any problem in computer science can be solved with another layer of indirection. David Wheeler
5 An Aphorism (the unexpurgated version) Any problem in computer science can be solved with another layer of indirection. But that usually will create another problem. David Wheeler
6 Where it all began 0 4 mov (0), ex ;ex = 4 mov (ex), ax ;ax = memory
7 Call by Value vs. Call by Reference 5 24 y x (to y) (to x) 4 dist stack frame stack frame float distfromorigin(int x, int y) void moveleft(int dist, int *x, int *y)
8 Pointers to Functions typedef float (*DiscountFunc)(float); int fivedollarsoff(float price) { return (price 5.0); } int tenpercentoff(float price) { return (price * 0.9); } DiscountFunc mydiscount = &tenpercentoff; Now it gets interesting.
9 Abstraction: Programming to an Interface Device Data read() write(data) SecureDevice Data read() write(data) setacl(acl) ACL getacl() NetworkDevice Data read() write(data) connect(address) disconnect() DiskDevice Data read() write(data)
10 Proxy Objects interface Device { Data read() throws IOException; void write(data data) throws IOException; } class SecureDevice implements Device { Device delegate; public SecureDevice(Device delegate) { this.delegate = delegate; } public Data read() { checkpermission(read); return delegate.read(); } } public void write(data data) { checkpermission(write); delegate.write(data); } Device mydevice = new SecureDevice(myRawDevice);
11 Dynamic Proxies class LoggingHandler implements InvocationHandler { final Object actual; public LoggingHandler(Object actual) { this.actual = actual; } } public Object invoke(object proxy, Method method, Object[] args) throws Throwable { print( Calling + method.getname() + ( ); for (int i=0; args!= null && i < args.length; i++) { if (i!= 0) print(", "); print(args[i]); } print(")"); Object ret = method.invoke(actual, args); print(" -> + ret); return ret; } LoggingHandler proxyhandler = new LoggingHandler(realDevice); Device device = (Device)Proxy.newProxyInstance(classLoader, Device.class.getInterfaces(), proxyhandler);
12 So What Does Indirection Buy Us? Separation of concerns Points of control / enforcement / logging Extensibility Loose coupling But there are costs
13 Abstracting Indirection
14 Abstracting Indirection
15 Interactions in a Nutshell To talk to something, you need to: Obtain a reference to it Know it s interface This is as true for Java as it is for Web Services
16 Another View of Interaction Registry Publish Find Provider Bind Consumer
17 Obtaining References Create it yourself Look it up in a directory/registry Allow someone to hand it to you Dependency Injection
18 Dependency Injection and OSGi DI frameworks bind concrete implementations to injection points which expect interfaces OSGi offers a service registry, versioning, etc.
19 Who controls the indirection? Client chooses to use a mediator Client would normally go direct, knows this endpoint Client Service Proxy
20 Who controls the indirection? Provider decides to expose a mediator In other words influences the discovery mechanism Client Proxy Service Client thinks this is the real endpoint domain of control
21 Who controls the indirection? A third party domain of control Client Proxy Service Client thinks this is the real endpoint domain of control
22 Example : NAT Remember the 80s? We re running out of addresses!!! NAT to the rescue
23 Pattern : Caching Squid, ESB, etc. The Intarwebs
24 Example : Nexus % mvn clean install cache Maven Central Repository Nexus settings.xml points here
25 Pattern : Load Balancing Distribute requests across a group of providers Sometimes affinity is important (i.e. sessions)
26 ESBs An ESB is essentially a mediation infrastructure Client Client Client ESB DB Service
27 ESBs In a Nutshell Adapters for various transports / infrastructures Flexible, composable mediation components Compositions can be light or heavyweight Security, reliability, etc. Transformations Routing Policy Enforcement Point Some can run in-process or in v. lightweight form
28 ESB Example ESB checks incoming msgs for client ID client ESB service client ESB ESB client ESB service ESBs decorate msgs with client ID backend is insulated from security checks
29 ESB Example client ESB service client ESB ESB client ESB service rogue client
30 Pattern : Versioning Client ESB Service V1 ESB exposes V1 interface
31 Pattern : Versioning Old Client Transformer XSLT Rules New Client ESB ESB exposes both interfaces
32 Pattern : Transformation / Adapter Relevant for data, transport, policies Client Transformer XSLT Service <patient> <name> John Q. Public </name> </patient> <client> <name> <first>john</first> <middle>q</middle> <last>public</last> </client>
33 Pattern : Pre-emptive Mediation client ESB Service If I directly expose endpoints, I also expose myself to pain when things need to change The effort of designing mediation in early tends to pay for itself later do-nothing at first Modern ESBs are fast Hardware solutions can be even faster for some uses
34 Some Anti-Patterns
35 AntiPattern #1 : The Big Slowdown
36 Performance Tips Get a fast mediator Watch out for too many layers Consider in-proc solutions (Interceptors/Handlers) Decentralize use clusters/networks of mediators Utilize the caching pattern where possible Test, test, test
37 AntiPattern #2 : Debugging Nightmare
38 Debugging Tips Log everything you can Don t forget the correlation ID! Tools can help SOA Management systems, syslog, home-grown stuff You can only debug what you can see Debugging at the ESB often gets you most of the messages Need correlation at the endpoints if you want to log there too
39 AntiPattern #3 : Reneging on a Contract Any time another actor comes into play, you have a risk of breaking SLAs or implicit agreements. Performance fits in here too, but also Privacy Retention policies Security Cost
40 Policy Enforcement Tips KNOW what the contracts are Both a technical and a business issue Use metadata generously The more metrics you have, the better How do you know when you ve broken things? Once again testing does wonders Aim as close to the real thing as you can get
41 Summing Up History shows that judiciously applied indirection beats tightly-coupled / static design any day If you re doing SOA, mediation is your friend Separate concerns, policies, caching, versioning/evolution Get your feet wet - try the many quality free/opensource mediators Watch out for common pitfalls - and test, test, test
42 Some FOSS Packages to Try Apache Synapse ( and WSO2 ESB ( JBoss ESB ( Apache ServiceMix ( and Progress/IONA FUSE ( Glassfish ESB ( It s quite easy to get up and running with modern ESBs
43 Questions Go forth and mediate!
About 1. Chapter 1: Getting started with wso2esb 2. Remarks 2. Examples 2. Installation or Setup 2. Chapter 2: Logging in WSO2 ESB 3.
wso2esb #wso2esb Table of Contents About 1 Chapter 1: Getting started with wso2esb 2 Remarks 2 Examples 2 Installation or Setup 2 Chapter 2: Logging in WSO2 ESB 3 Examples 3 Separate log files for each
More informationRed Hat JBoss Fuse Service Works Integration Recipes, Best Practices & Cheat Codes
Red Hat JBoss Fuse Service Works Integration Recipes, Best Practices & Cheat Codes Keith Babo SwitchYard Project Lead, Red Hat There is Still Time To Leave We will be talking integration and SOA If your
More informationJBI based ESB as backbone for SOI applications. Michael Wisler Zühlke Engineering AG Submission ID: 687
JBI based ESB as backbone for SOI applications Michael Wisler Zühlke Engineering AG Submission ID: 687 Goal of this talk 2 This session brings the JBI (Java Business Integration) standard in contex t to
More informationAgile Architecture. The Why, the What and the How
Agile Architecture The Why, the What and the How Copyright Net Objectives, Inc. All Rights Reserved 2 Product Portfolio Management Product Management Lean for Executives SAFe for Executives Scaled Agile
More information1.5 Edge Component The problem. Practical SOA Arnon Rotem-Gal-Oz 1
1 1.5 Edge Component The last pattern of the basic patterns is the Edge Component pattern. Unlike the other pattern which are basic just because they are very common, the Edge component is also basic because
More informationCOMP390 (Design &) Implementation
COMP390 (Design &) Implementation A rough guide Consisting of some ideas to assist the development of large and small projects in Computer Science (With thanks to Dave Shield) Design & Implementation What
More informationThe Adapter Pattern. Interface with anything!
The Adapter Pattern Interface with anything! Adapter in a Nutshell - An adapter takes an object with one interface, and changes the interface to make it look like something it s not. - Allows two objects
More informationRapid Large-Scale SOA - Connected Products at Leapfrog Enterprises
Rapid Large-Scale SOA - Connected Products at Leapfrog Enterprises A little bit about myself Jason Whaley Web Infrastructure Engineer Leapfrog Enterprises jwhaley@leapfrog.com What Will be Covered Overview
More informationMicroservices with Red Hat. JBoss Fuse
Microservices with Red Hat Ruud Zwakenberg - ruud@redhat.com Senior Solutions Architect June 2017 JBoss Fuse and 3scale API Management Disclaimer The content set forth herein is Red Hat confidential information
More informationUnder the Paul Fremantle, CTO, WSO2
Under the Hood @WSO2 Paul Fremantle, CTO, WSO2 Paul Fremantle CTO and Co-Founder 10 years at IBM STSM in WebSphere Development Infoworld CTO 25 in 2008 VP, Apache Synapse Co-Chair, OASIS WSRX TC Why look
More informationSOA-20: The Role of Policy Enforcement in SOA Management
SOA-20: The Role of Policy Enforcement in SOA Management Phil Walston VP Product Management Layer 7 Technologies Overview Discuss policy in SOA, the role of Policy Enforcement Points and where this fits
More informationIn math, the rate of change is called the slope and is often described by the ratio rise
Chapter 3 Equations of Lines Sec. Slope The idea of slope is used quite often in our lives, however outside of school, it goes by different names. People involved in home construction might talk about
More informationCOMP390 (Design &) Implementation
COMP390 (Design &) Implementation Phil (& Dave s) rough guide Consisting of some ideas to assist the development of large and small projects in Computer Science (and a chance for me to try out some features
More informationDesigning and Writing a Program. Divide and Conquer! The Design-Code-Debug Cycle. Documentation is Code. Pair Programming 3/8/2012
CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims Lecture 13: Designing, Coding, and Documenting Designing and Writing a Program Don't sit down at the terminal
More informationWhat is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)
1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?
More informationCom S/Geron 415X Gerontechnology in Smart Home Environments Lecture 9 Intro to Service Computing. Dr. Hen-I Yang ComS Dept., ISU
Com S/Geron 415X Gerontechnology in Smart Home Environments Lecture 9 Intro to Service Computing Dr. Hen-I Yang ComS Dept., ISU Feb. 22, 2011 Reflection Peeking Ahead Today (2/22) Introduction to Service
More informationCreate your own Carbon Component. Sameera Jayasoma Technical Lead and Product Manager of WSO2 Carbon
Create your own Carbon Component Sameera Jayasoma Technical Lead and Product Manager of WSO2 Carbon sameera@wso2.com WSO2 Founded in 2005 by acknowledged leaders in XML, Web Services Technologies & Standards
More informationAchieving Scalability and High Availability for clustered Web Services using Apache Synapse. Ruwan Linton WSO2 Inc.
Achieving Scalability and High Availability for clustered Web Services using Apache Synapse Ruwan Linton [ruwan@apache.org] WSO2 Inc. Contents Introduction Apache Synapse Web services clustering Scalability/Availability
More informationWeb Services. Lecture I. Valdas Rapševičius. Vilnius University Faculty of Mathematics and Informatics
Web Services Lecture I Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics 2014.02.28 2014.02.28 Valdas Rapševičius. Java Technologies 1 Outline Introduction to SOA SOA Concepts:
More informationCSE 70 Final Exam Fall 2009
Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15
More informationCOMP390 (Design &) Implementation
COMP390 (Design &) Implementation Phil (& Dave s) rough guide Consisting of some ideas to assist the development of large and small projects in Computer Science (and a chance for me to try out some features
More informationDecorator Pattern. Steven R. Bagley
Decorator Pattern Steven R. Bagley Introduction Decorator Pattern Inheritance vs. Composition Tricolour Coffee Bar Fast-growing coffee chain Started by a computer scientist Wants a fully OO based ordering
More informationBreaking Apart the Monolith
Breaking Apart the Monolith with Modularity & Microservices Igor Arouca Liferay, Inc Michael C. Han Liferay, Inc June 26 th, 2017 Room #206 What is a Monolith? Self-contained, single process Difficult
More informationVirtual File System. Don Porter CSE 506
Virtual File System Don Porter CSE 506 History ò Early OSes provided a single file system ò In general, system was pretty tailored to target hardware ò In the early 80s, people became interested in supporting
More informationMSO Lecture Design by Contract"
1 MSO Lecture Design by Contract" Wouter Swierstra (adapted by HP, AL) October 8, 2018 2 MSO SO FAR Recap Abstract Classes UP & Requirements Analysis & UML OO & GRASP principles Design Patterns (Facade,
More informationSOA Security Patterns Tuesday, 26th October
WSO2 Founded in 2005 by acknowledged leaders in XML, Web Services Technologies & Standards and Open Source Producing entire middleware platform 100% open source under Apache license Business model is to
More informationService Lifecycle and Versioning SOA 2/2559
Service Lifecycle and Versioning SOA 2/2559 Services Under Development Design Produces the specification of the service interface Contracts Implementation Integration Bringing into production 2 Services
More informationCSE wi Final Exam 3/12/18. Name UW ID#
Name UW ID# There are 13 questions worth a total of 100 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. The exam is closed book, closed notes,
More informationNexus for Component Management. Nexus for Component Management
Nexus for Component Management i Nexus for Component Management Nexus for Component Management ii Contents 1 Nexus for Component Management 1 2 Nexus for Component Management 1 3 Nexus for Component Management
More informationBPEL Research. Tuomas Piispanen Comarch
BPEL Research Tuomas Piispanen 8.8.2006 Comarch Presentation Outline SOA and Web Services Web Services Composition BPEL as WS Composition Language Best BPEL products and demo What is a service? A unit
More informationWhat the CPU Sees Basic Flow Control Conditional Flow Control Structured Flow Control Functions and Scope. C Flow Control.
C Flow Control David Chisnall February 1, 2011 Outline What the CPU Sees Basic Flow Control Conditional Flow Control Structured Flow Control Functions and Scope Disclaimer! These slides contain a lot of
More informationFIX Orchestra: The Full Stop at the End of FIX
FIX Orchestra: The Full Stop at the End of FIX June 2017 John Greenan, CEO Alignment Systems FIX Orchestra Working Group http://twitter.com/alignmentsys http://blog.alignment-systems.com FIX Orchestra
More informationContainers, Serverless and Functions in a nutshell. Eugene Fedorenko
Containers, Serverless and Functions in a nutshell Eugene Fedorenko About me Eugene Fedorenko Senior Architect Flexagon adfpractice-fedor.blogspot.com @fisbudo Agenda Containers Microservices Docker Kubernetes
More informationTop 7 Lessons From My First Big Silverlight Project
Top 7 Lessons From My First Big Silverlight Project Benjamin Day Benjamin Day Consulting, Inc. Level: Intermediate/Advanced Benjamin Day Consultant, Coach, Trainer Professional Scrum Development Trainer
More informationExceptions vs. Errors Exceptions vs. RuntimeExceptions try...catch...finally throw and throws
Lecture 14 Summary Exceptions vs. Errors Exceptions vs. RuntimeExceptions try...catch...finally throw and throws 1 By the end of this lecture, you will be able to differentiate between errors, exceptions,
More informationDesign Patterns. Structural Patterns. Oliver Haase
Design Patterns Structural Patterns Oliver Haase 1 Purpose Structural patterns describe how to compose classes (incl. interfaces) and objects to get larger structures. Class based structural patterns use
More informationObject oriented programming. Encapsulation. Polymorphism. Inheritance OOP
OOP Object oriented programming Polymorphism Encapsulation Inheritance OOP Class concepts Classes can contain: Constants Delegates Events Fields Constructors Destructors Properties Methods Nested classes
More informationService-Oriented Architecture
Service-Oriented Architecture The Service Oriented Society Imagine if we had to do everything we need to get done by ourselves? From Craftsmen to Service Providers Our society has become what it is today
More informationArchitecting for Scale
Armin Balalaie and Abbas Heydarnoori, Sharif University of Technology Pooyan Jamshidi, Imperial College London // This article reports on experiences and lessons learned during incremental migration and
More informationDESIGNING, CODING, AND DOCUMENTING
DESIGNING, CODING, AND DOCUMENTING Lecture 16 CS2110 Fall 2013 Designing and Writing a Program 2 Don't sit down at the terminal immediately and start hacking Design stage THINK first about the data you
More information9 Reasons To Use a Binary Repository for Front-End Development with Bower
9 Reasons To Use a Binary Repository for Front-End Development with Bower White Paper Introduction The availability of packages for front-end web development has somewhat lagged behind back-end systems.
More informationOSGi on the Server. Martin Lippert (it-agile GmbH)
OSGi on the Server Martin Lippert (it-agile GmbH) lippert@acm.org 2009 by Martin Lippert; made available under the EPL v1.0 October 6 th, 2009 Overview OSGi in 5 minutes Apps on the server (today and tomorrow)
More informationExtensibility, Componentization, and Infrastructure
Extensibility, Componentization, and Infrastructure Ted Slupesky (slupesky@us.ibm.com) Copyright 2006 IBM Corp. Available under terms of the Eclipse Public License http://www.eclipse.org/legal/epl-v10.html
More informationDistribution and web services
Chair of Software Engineering Carlo A. Furia, Bertrand Meyer Distribution and web services From concurrent to distributed systems Node configuration Multiprocessor Multicomputer Distributed system CPU
More informationGoal: Offer practical information to help the architecture evaluation of an SOA system. Evaluating a Service-Oriented Architecture
Evaluating a Service-Oriented Architecture Paulo Merson, SEI with Phil Bianco, SEI Rick Kotermanski, Summa Technologies May 2007 Goal: Offer practical information to help the architecture evaluation of
More information(9A05803) WEB SERVICES (ELECTIVE - III)
1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available
More informationConnect to multiple data sources without writing code. Mark Drilling Principal Software Engineer Red Hat June 24, 2015
Connect to multiple data sources without writing code Mark Drilling Principal Software Engineer Red Hat June 24, 2015 SESSION OUTLINE OVERVIEW OF JBOSS DATA VIRTUALIZATION (JDV) DEMO Deploy JDV 6.1 cartridge
More informationHi! NET Developer Group Braunschweig!
Hi! NET Developer Group Braunschweig! Über Tobias Dipl. Informatiker (FH) Passionated Software Developer Clean Code Developer.NET Junkie.NET User Group Lead Microsoft PFE Software Development Twitter @Blubern
More informationDesign Patterns: State, Bridge, Visitor
Design Patterns: State, Bridge, Visitor State We ve been talking about bad uses of case statements in programs. What is one example? Another way in which case statements are sometimes used is to implement
More informationMaking SOA Groovy Paul Fremantle,
Paul Fremantle, pzf@apache.org Who am I? Paul Fremantle Co-founder of WSO2 - open source SOA middleware company Member of the Apache Software Foundation Committer and Release Manager on Apache Synapse
More informationQUIZ. Source:
QUIZ Source: http://stackoverflow.com/questions/17349387/scope-of-macros-in-c Ch. 4: Data Abstraction The only way to get massive increases in productivity is to leverage off other people s code. That
More informationFRONT USER GUIDE Getting Started with Front
USER GUIDE USER GUIDE Getting Started with Front ESSENTIALS Teams That Use Front How To Roll Out Front Quick Start Productivity Tips Downloading Front Adding Your Team Inbox Add Your Own Work Email Update
More informationSentinet for Microsoft Azure SENTINET
Sentinet for Microsoft Azure SENTINET Sentinet for Microsoft Azure 1 Contents Introduction... 2 Customer Benefits... 2 Deployment Topologies... 3 Cloud Deployment Model... 3 Hybrid Deployment Model...
More informationThe Design Patterns Matrix From Analysis to Implementation
The Design Patterns Matrix From Analysis to Implementation This is an excerpt from Shalloway, Alan and James R. Trott. Design Patterns Explained: A New Perspective for Object-Oriented Design. Addison-Wesley
More informationSonatype CLM Enforcement Points - Nexus. Sonatype CLM Enforcement Points - Nexus
Sonatype CLM Enforcement Points - Nexus i Sonatype CLM Enforcement Points - Nexus Sonatype CLM Enforcement Points - Nexus ii Contents 1 Introduction 1 2 Sonatype CLM for Repository Managers 2 3 Nexus Pro
More informationSentinet for Windows Azure VERSION 2.2
Sentinet for Windows Azure VERSION 2.2 Sentinet for Windows Azure 1 Contents Introduction... 2 Customer Benefits... 2 Deployment Topologies... 3 Isolated Deployment Model... 3 Collocated Deployment Model...
More informationPower up your Productivity Potential with Alison Cruess
Power up your Productivity Potential with Alison Cruess What to Expect Two parts: Theory of being more productive Tools, tips and tricks Clickers? 3. Send your answer 2. Select your answer 1. Power on
More informationService Oriented Architectures Visions Concepts Reality
Service Oriented Architectures Visions Concepts Reality CSC March 2006 Alexander Schatten Vienna University of Technology Vervest und Heck, 2005 A Service Oriented Architecture enhanced by semantics, would
More informationLecture Topics. Administrivia
ECE498SL Lec. Notes L8PA Lecture Topics overloading pitfalls of overloading & conversions matching an overloaded call miscellany new & delete variable declarations extensibility: philosophy vs. reality
More informationOverview. Requirements. Aims. Services and messages. Architecture overview. JBossESB. What are the aims behind JBossESB?
Overview JBossESB Dr Mark Little Director of Standards, Development Manager What are the aims behind JBossESB? Requirements Architecture Messages and services Interoperability Deployment realities What
More informationModular Java Applications with Spring, dm Server and OSGi
Modular Java Applications with Spring, dm Server and OSGi Copyright 2005-2008 SpringSource. Copying, publishing or distributing without express written permission is prohibit Topics in this session Introduction
More informationCSE 374 Programming Concepts & Tools. Brandon Myers Winter 2015 Lecture 11 gdb and Debugging (Thanks to Hal Perkins)
CSE 374 Programming Concepts & Tools Brandon Myers Winter 2015 Lecture 11 gdb and Debugging (Thanks to Hal Perkins) Hacker tool of the week (tags) Problem: I want to find the definition of a function or
More informationHow to Get Your Inbox to Zero Every Day
How to Get Your Inbox to Zero Every Day MATT PERMAN WHATSBESTNEXT.COM It s possible to get your email inbox to zero and keep it there, even if you get hundreds of emails a day. It s not super complicated,
More information4. Java language basics: Function. Minhaeng Lee
4. Java language basics: Function Minhaeng Lee Review : loop Program print from 20 to 10 (reverse order) While/for Program print from 1, 3, 5, 7.. 21 (two interval) Make a condition that make true only
More informationAbout this exam review
Final Exam Review About this exam review I ve prepared an outline of the material covered in class May not be totally complete! Exam may ask about things that were covered in class but not in this review
More information1: Introduction to Object (1)
1: Introduction to Object (1) 김동원 2003.01.20 Overview (1) The progress of abstraction Smalltalk Class & Object Interface The hidden implementation Reusing the implementation Inheritance: Reusing the interface
More informationApache Karaf Cave 4.x - Documentation
Apache Karaf Cave 4.x - Documentation Apache Software Foundation Apache Karaf Cave 4.x - Documentation Overview User Guide 1. Installation 1.1. Pre-installation requirements 1.2. Registration of the Apache
More informationORACLE INTRODCUTION. Service Bus 11g For the Busy IT Professional. munz & more Dr. Frank Munz November getting started
ORACLE Service Bus 11g For the Busy IT Professional munz & more Dr. Frank Munz November 2010 getting started INTRODCUTION 1 Agenda 1. Introduction 2. Service Bus Positioning 3. Core OSB Features, Development
More informationSentinet for BizTalk Server SENTINET
Sentinet for BizTalk Server SENTINET Sentinet for BizTalk Server 1 Contents Introduction... 2 Sentinet Benefits... 3 SOA and API Repository... 4 Security... 4 Mediation and Virtualization... 5 Authentication
More informationQUIZ Friends class Y;
QUIZ Friends class Y; Is a forward declaration neeed here? QUIZ Friends QUIZ Friends - CONCLUSION Forward (a.k.a. incomplete) declarations are needed only when we declare member functions as friends. They
More informationPointers. A pointer is simply a reference to a variable/object. Compilers automatically generate code to store/retrieve variables from memory
Pointers A pointer is simply a reference to a variable/object Compilers automatically generate code to store/retrieve variables from memory It is automatically generating internal pointers We don t have
More informationOpen ESB v2, Open ESB.next and Project Fuji. Andreas Egloff Lead Architect SOA / Business Integration Sun Microsystems
Open ESB v2, Open ESB.next and Project Fuji Andreas Egloff Lead Architect SOA / Business Integration Sun Microsystems 1 Introduction 2 Project Open ESB Over 600 members and 600,000 downloads CDDL license
More informationJBoss DNA. Randall Hauch Principal Software Engineer JBoss Data Services
JBoss DNA Randall Hauch Principal Software Engineer JBoss Data Services 1 JBoss DNA New project A few months old http://labs.jboss.org/dna Prior repository experience and IP MetaMatrix Repository Drools
More informationINTERFACES IN JAVA. Prof. Chris Jermaine
INTERFACES IN JAVA Prof. Chris Jermaine cmj4@cs.rice.edu 1 Before We Begin... Couple more slides on checkers, then a challenge There is also an AIntelligence This encapsulates the idea of a checker-playing
More informationSocket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.
Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise
More informationLecture 14 Summary 3/9/2009. By the end of this lecture, you will be able to differentiate between errors, exceptions, and runtime exceptions.
Lecture 14 Summary Exceptions vs. Errors Exceptions vs. RuntimeExceptions...catch...finally throw and throws By the end of this lecture, you will be able to differentiate between errors, exceptions, and
More informationCarsten Ziegeler
Embrace OSGi Change A Developer's Quickstart Carsten Ziegeler cziegeler@apache.org About Member of the ASF Sling, Felix, Cocoon, Portals, Sanselan, Excalibur, Incubator PMC: Felix, Portals, Cocoon, Incubator,
More informationWeb Services. Lecture I. Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics
Web Services Lecture I Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics 2015.02.19 Outline Introduction to SOA SOA Concepts: Services Loose Coupling Infrastructure SOA Layers
More informationApache Synapse. Paul Fremantle.
Apache Synapse Paul Fremantle paul@wso2.com http://bloglines.com/blog/paulfremantle About me EX IBM STSM developed the IBM Web Services Gateway Apache WSIF Apache Axis C/C++ JWSDL/WSDL4J now Woden Co-founded
More informationTackling Application Integration Nightmares with WSO2 ESB. Hiranya Jayathilaka
Tackling Application Integration Nightmares with WSO2 ESB Hiranya Jayathilaka hiranya@wso2.com WSO2 Founded in 2005 by acknowledged leaders in XML, Web Services technologies & standards and Open Source
More informationAsynchronous and Synchronous Messaging with Web Services and XML Ronald Schmelzer Senior Analyst ZapThink, LLC
Asynchronous and Synchronous Messaging with Web Services and XML Ronald Schmelzer Senior Analyst ZapThink, LLC The Business Objective Automated Business Collaboration Facilitating exchange of information
More informationChapter 8 Web Services Objectives
Chapter 8 Web Services Objectives Describe the Web services approach to the Service- Oriented Architecture concept Describe the WSDL specification and how it is used to define Web services Describe the
More informationComplex event flows in distributed systems
Complex event flows in distributed systems @berndruecker With thoughts from http://flowing.io @berndruecker @martinschimak 3 common hypotheses I check today: # Events decrease coupling # Orchestration
More informationTesting, code coverage and static analysis. COSC345 Software Engineering
Testing, code coverage and static analysis COSC345 Software Engineering Outline Various testing processes ad hoc / formal / automatic Unit tests and test driven development Code coverage metrics Integration
More informationArchitectural Code Analysis. Using it in building Microservices NYC Cloud Expo 2017 (June 6-8)
Architectural Code Analysis Using it in building Microservices NYC Cloud Expo 2017 (June 6-8) Agenda Intro to Structural Analysis Challenges addressed during traditional software development The new world
More informationIntroduction. A Brief Description of Our Journey
Introduction If you still write RPG code as you did 20 years ago, or if you have ILE RPG on your resume but don t actually use or understand it, this book is for you. It will help you transition from the
More informationBuild Testable Client and Service Applications
Build Testable Client and Service Applications Brian Noyes IDesign Inc (www.idesign.net) brian.noyes@idesign.net About Brian Chief Architect IDesign Inc. (www.idesign.net) Microsoft Regional Director MVP
More informationOliver Wulff / Talend. Flexibles Service Enabling mit Apache CXF
Oliver Wulff / Talend Flexibles Service Enabling mit Apache CXF Introduction Oliver Wulff Talend Professional Services Solution Architect Web Services (Axis, CXF, ) Security (WS-*, Kerberos, Web SSO, )
More informationHow to Read AWStats. Why it s important to know your stats
How to Read AWStats Welcome to the world of owning a website. One of the things that both newbie and even old time website owners get overwhelmed by is their analytics and understanding the data. One of
More informationMSO Object Creation Singleton & Object Pool
MSO Object Creation Singleton & Object Pool Wouter Swierstra & Hans Philippi October 25, 2018 Object Creation: Singleton & Object Pool 1 / 37 This lecture How to create objects The Singleton Pattern The
More informationGoing to cover; - Why we have SPIR-V - Brief history of SPIR-V - Some of the core required features we wanted - How OpenCL will use SPIR-V - How
1 Going to cover; - Why we have SPIR-V - Brief history of SPIR-V - Some of the core required features we wanted - How OpenCL will use SPIR-V - How Vulkan will use SPIR-V - The differences between compute/graphics
More informationSentinet for BizTalk Server VERSION 2.2
for BizTalk Server VERSION 2.2 for BizTalk Server 1 Contents Introduction... 2 SOA Repository... 2 Security... 3 Mediation and Virtualization... 3 Authentication and Authorization... 4 Monitoring, Recording
More informationTop 20 Plone Pitfalls
Top 20 Plone Pitfalls And Then Some www.plonesolutions.com Stefan H. Holek stefan@plonesolutions.com All disclaimers apply. I am not going to argue over any of these, don t try. 1 Do not put off learning
More information04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6
04 Webservices Web APIs REST Coulouris chp.9 Roy Fielding, 2000 Chp 5/6 Aphrodite, 2002 http://www.xml.com/pub/a/2004/12/01/restful-web.html http://www.restapitutorial.com Webservice "A Web service is
More informationIt s possible to get your inbox to zero and keep it there, even if you get hundreds of s a day.
It s possible to get your email inbox to zero and keep it there, even if you get hundreds of emails a day. It s not super complicated, though it does take effort and discipline. Many people simply need
More informationSOA-14: Continuous Integration in SOA Projects Andreas Gies
Tooling for Service Mix 4 Principal Architect http://www.fusesource.com http://open-source-adventures.blogspot.com About the Author Principal Architect PROGRESS - Open Source Center of Competence Degree
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 11 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Recap I Software Development Processes (cont.) I Project Planning I Design
More informationVirtual File System. Don Porter CSE 306
Virtual File System Don Porter CSE 306 History Early OSes provided a single file system In general, system was pretty tailored to target hardware In the early 80s, people became interested in supporting
More informationJava Classes - Using your classes. How the classes you write are being used
Java Classes - Using your classes How the classes you write are being used What s the use of classes? So, you have been writing a few classes by now... What for? The programs you will write will use objects
More informationElliotte Rusty Harold August From XML to Flat Buffers: Markup in the Twenty-teens
Elliotte Rusty Harold elharo@ibiblio.org August 2018 From XML to Flat Buffers: Markup in the Twenty-teens Warning! The Contenders XML JSON YAML EXI Protobufs Flat Protobufs XML JSON YAML EXI Protobuf Flat
More information