Communication and Execution
Service Oriented Architecture
Service Oriented Architecture
Web Services
How It Works
• Call Web Service :
Get back some values - Y, Z
• Call Web Service :
Get back some values - A
• Call Web Service :
updateMoreStuff(Y, A)
Get back some values - S, H, and X
Return S and H to user
• Don´t try to build entire applications from service calls
• Strive to reduce granularity
• Error processing must be handled effectively
INTRA-Enterprise ¨ SOA ¨
- BIZTalk
- MQ Series
Distributed Computing Services
- JavaSpaces
- Grid and Cloud computing
Enterprise Service Bus
Enterprise Service Bus
Consider a UNIX shell script in which process A
pipes information into process B. Here the
processes are the services and the shell script iss
the choreographer, AND the operating system that
transfers the messages is a very simple Enterprise
Service Bus
Enterprise Service Bus
Essential Requirements:
• Routing
• Event Handling
• Reliability
• Monitoring and Administration
• Security
• Load Balancing
Enterprise Service Bus
• Websphere Integration Developer (IBM)
• JDeveloper (Oracle)
• Workflow Foundation (Microsoft)
Message Oriented Middleware
“intelligent queuing HUBS “
Message Oriented Middleware
• Websphere Interchange Server (IBM)
• Fusion (Oracle)
• Queue Manager (Microsoft)
System Analysis and Program development
(SAP) is a German software corporation that provides enterprise software
applications and support to businesses of all sizes globally. Headquartered
in Walldorf, Germany, with regional offices around the world, SAP is the
largest enterprise software company in the world (as of 2009). It is also the
largest software company in Europe and the fourth largest globally. The
company's best known products are its SAP Enterprise Resource Planning
(SAP ERP) and SAP BusinessObjects software. SAP was founded in June
1972 as Systemanalyse und Programmentwicklung by five former IBM
engineers in Mannheim, Baden-Württemberg .
Common Object Request Broker Architecture
is a standard defined by the Object Management Group (OMG) that
enables software components written in multiple computer languages and
running on multiple computers to work together (i.e., it supports multiple
platforms) CORBA is useful because it enables separate pieces of
software written in different languages and running on different computers
to work together like a single application or set of services. More
specifically, CORBA is a mechanism in software for normalizing the
method-call semantics between application objects residing either in the
same address space (application) or remote address space (same host, or
remote host on a network).
Common Object Request Broker Architecture
Version 1.0 was released in October 1991. CORBA uses an interface
definition language (IDL) to specify the interfaces which objects present to
the outer world. CORBA then specifies a mapping from IDL to a specific
implementation language like C++ or Java. Standard mappings exist for
Ada, C, C++, Lisp, Ruby, Smalltalk, Java, COBOL, PL/I and Python. There
are also non-standard mappings for Perl, Visual Basic, Erlang, and Tcl
implemented by object request brokers (ORBs) written for those
Common Object Request Broker Architecture
The CORBA specification dictates there shall be an ORB through which an
application would interact with other objects. In practice, the application
simply initializes the ORB, and accesses an internal Object Adapter, which
maintains things like reference counting, object (and reference) instantiation
policies, and object lifetime policies. The Object Adapter is used to register
instances of the generated code classes. Generated code classes are the
result of compiling the user IDL code, which translates the high-level
interface definition into an OS- and language-specific class base for use by
the user application. This step is necessary in order to enforce CORBA
semantics and provide a clean user process for interfacing with the CORBA
is a Microsoft development environment used to create enterprise
applications or to develop applications that integrate nicely with other
enterprise applications. There are three core pieces of .Net :
1. A runtime environment that ,Net apps rely on to execute
2. Development tools to make the apps that run in this
3. A number of other loosely related products and services
under the name “.NET” since it makes everything sound
What’s in it?
• Visual Studio
• The .NET Framework
• The .NET Enterprises
• .NET Services
What’s in it?
• Visual Studio
- the development environment C#, Managed C++, VB,
Jscript, Visual J#, …
• The .NET Framework
• The .NET Enterprises
• .NET Services
What’s in it?
• Visual Studio
• The .NET Framework
- underlying technologies (libraries, object files,
executables, etc) relied on by Visual Studio
• The .NET Enterprises
• .NET Services
What’s in it?
• Visual Studio
• The .NET Framework
• The .NET Enterprises
- Advanced Server ( a supped up Windows OS),
SQL Server, Exchange Server, Application Server.
BizTalk Server, Commerce Server, ISA Server, …
• .NET Services
What’s in it?
• Visual Studio
• The .NET Framework
• The .NET Enterprises
• .NET Services
- a collection of Internet accessible web services sold by
Microsoft. Much like the .NET Framework provides
higher-level class libraries that make developers more
productive, .NET Services can help developers focus
on their application logic rather than building and
deploying their own cloud-based infrastructure services.
• .NET Services
Java 2 Platform Enterprise Edition :
is a conglomeration of standards for architectures, protocols,
languages, APIs, and services that allow companies to deploy
applications capable of serving many, many users. J2EE is an
Open Source standard owned by Sun Microsystems and
marketed by
1. IBM ( as Websphere Application Server)
2. Oracle (as Oracle Application Server)
3. BEA (as WebLogic now owned by Oracle)
4. Red Hat ( as JBoss Application Server)
“Industry Standard” unless
1. You are a Microsoft shop
2. You are fixed in older technology client server architechtures
based on C++
3. You own proprietary technology
4. You live in a dream world !
REpresentational State Transfer is a software architecture approach to system interconnection that
emphasizes simplicity and uniformity. Created (by Roy Fielding)
in response to the fact that SOAP and WSDL are not so simple
and uniform.
The basic idea is that RESTful architectures try to make it just as
easy for software programs to chain through web services as it
is for humans to follow hyperlinks across a set of web pages.
Resource Oriented Architecture (ROA) is a specific type of
REST architecture that focuses its technology set on HTTP,
XML, and URLs.
Future is Bleak ! WHY?