To Mediate is the Message (a brief history of indirection) Glen Daniels Independent Technologist

Size: px
Start display at page:

Download "To Mediate is the Message (a brief history of indirection) Glen Daniels Independent Technologist"

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.

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 information

Red Hat JBoss Fuse Service Works Integration Recipes, Best Practices & Cheat Codes

Red 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 information

JBI 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 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 information

Agile Architecture. The Why, the What and the How

Agile 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 information

1.5 Edge Component The problem. Practical SOA Arnon Rotem-Gal-Oz 1

1.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 information

COMP390 (Design &) Implementation

COMP390 (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 information

The Adapter Pattern. Interface with anything!

The 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 information

Rapid Large-Scale SOA - Connected Products at Leapfrog Enterprises

Rapid 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 information

Microservices with Red Hat. JBoss Fuse

Microservices 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 information

Under the Paul Fremantle, CTO, WSO2

Under 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 information

SOA-20: The Role of Policy Enforcement in SOA Management

SOA-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 information

In math, the rate of change is called the slope and is often described by the ratio rise

In 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 information

COMP390 (Design &) Implementation

COMP390 (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 information

Designing and Writing a Program. Divide and Conquer! The Design-Code-Debug Cycle. Documentation is Code. Pair Programming 3/8/2012

Designing 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 information

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)

What 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 information

Com 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 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 information

Create 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 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 information

Achieving 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 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 information

Web 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 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 information

CSE 70 Final Exam Fall 2009

CSE 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 information

COMP390 (Design &) Implementation

COMP390 (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 information

Decorator Pattern. Steven R. Bagley

Decorator 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 information

Breaking Apart the Monolith

Breaking 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 information

Virtual File System. Don Porter CSE 506

Virtual 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 information

MSO Lecture Design by Contract"

MSO 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 information

SOA Security Patterns Tuesday, 26th October

SOA 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 information

Service Lifecycle and Versioning SOA 2/2559

Service 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 information

CSE wi Final Exam 3/12/18. Name UW ID#

CSE 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 information

Nexus for Component Management. Nexus for Component Management

Nexus 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 information

BPEL Research. Tuomas Piispanen Comarch

BPEL 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 information

What the CPU Sees Basic Flow Control Conditional Flow Control Structured Flow Control Functions and Scope. C Flow Control.

What 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 information

FIX Orchestra: The Full Stop at the End of FIX

FIX 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 information

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

Containers, 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 information

Top 7 Lessons From My First Big Silverlight Project

Top 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 information

Exceptions vs. Errors Exceptions vs. RuntimeExceptions try...catch...finally throw and throws

Exceptions 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 information

Design Patterns. Structural Patterns. Oliver Haase

Design 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 information

Object oriented programming. Encapsulation. Polymorphism. Inheritance OOP

Object 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 information

Service-Oriented Architecture

Service-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 information

Architecting for Scale

Architecting 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 information

DESIGNING, CODING, AND DOCUMENTING

DESIGNING, 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 information

9 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 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 information

OSGi on the Server. Martin Lippert (it-agile GmbH)

OSGi 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 information

Extensibility, Componentization, and Infrastructure

Extensibility, 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 information

Distribution and web services

Distribution 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 information

Goal: Offer practical information to help the architecture evaluation of an SOA system. Evaluating a Service-Oriented Architecture

Goal: 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)

(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 information

Connect 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 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 information

Hi! NET Developer Group Braunschweig!

Hi! 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 information

Design Patterns: State, Bridge, Visitor

Design 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 information

Making SOA Groovy Paul Fremantle,

Making 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 information

QUIZ. Source:

QUIZ. 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 information

FRONT USER GUIDE Getting Started with Front

FRONT 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 information

Sentinet for Microsoft Azure SENTINET

Sentinet 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 information

The Design Patterns Matrix From Analysis to Implementation

The 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 information

Sonatype CLM Enforcement Points - Nexus. Sonatype CLM Enforcement Points - Nexus

Sonatype 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 information

Sentinet for Windows Azure VERSION 2.2

Sentinet 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 information

Power up your Productivity Potential with Alison Cruess

Power 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 information

Service Oriented Architectures Visions Concepts Reality

Service 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 information

Lecture Topics. Administrivia

Lecture 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 information

Overview. Requirements. Aims. Services and messages. Architecture overview. JBossESB. What are the aims behind JBossESB?

Overview. 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 information

Modular Java Applications with Spring, dm Server and OSGi

Modular 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 information

CSE 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) 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 information

How to Get Your Inbox to Zero Every Day

How 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 information

4. Java language basics: Function. Minhaeng Lee

4. 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 information

About this exam review

About 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 information

1: Introduction to Object (1)

1: 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 information

Apache Karaf Cave 4.x - Documentation

Apache 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 information

ORACLE INTRODCUTION. Service Bus 11g For the Busy IT Professional. munz & more Dr. Frank Munz November getting started

ORACLE 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 information

Sentinet for BizTalk Server SENTINET

Sentinet 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 information

QUIZ Friends class Y;

QUIZ 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 information

Pointers. 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 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 information

Open 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 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 information

JBoss DNA. Randall Hauch Principal Software Engineer JBoss Data Services

JBoss 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 information

INTERFACES IN JAVA. Prof. Chris Jermaine

INTERFACES 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 information

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Socket 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 information

Lecture 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 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 information

Carsten Ziegeler

Carsten 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 information

Web 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 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 information

Apache Synapse. Paul Fremantle.

Apache 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 information

Tackling Application Integration Nightmares with WSO2 ESB. Hiranya Jayathilaka

Tackling 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 information

Asynchronous 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 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 information

Chapter 8 Web Services Objectives

Chapter 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 information

Complex event flows in distributed systems

Complex 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 information

Testing, code coverage and static analysis. COSC345 Software Engineering

Testing, 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 information

Architectural 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) 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 information

Introduction. A Brief Description of Our Journey

Introduction. 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 information

Build Testable Client and Service Applications

Build 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 information

Oliver Wulff / Talend. Flexibles Service Enabling mit Apache CXF

Oliver 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 information

How to Read AWStats. Why it s important to know your stats

How 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 information

MSO Object Creation Singleton & Object Pool

MSO 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 information

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

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 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 information

Sentinet for BizTalk Server VERSION 2.2

Sentinet 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 information

Top 20 Plone Pitfalls

Top 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 information

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6

04 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 information

It 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  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 information

SOA-14: Continuous Integration in SOA Projects Andreas Gies

SOA-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 information

Software Engineering I (02161)

Software 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 information

Virtual File System. Don Porter CSE 306

Virtual 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 information

Java 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 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 information

Elliotte Rusty Harold August From XML to Flat Buffers: Markup in the Twenty-teens

Elliotte 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