Upload
lee-price
View
214
Download
0
Tags:
Embed Size (px)
Citation preview
• Call Web Service : retrieveStuff()
Get back some values - Y, Z
• Call Web Service : updateStuff(Z)
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
How It Works
!
• Don´t try to build entire applications from service calls
• Strive to reduce granularity
• Error processing must be handled effectively
Warning
INTRA-Enterprise ¨ SOA ¨ - SAP - BIZTalk - MQ Series
Distributed Computing Services - JavaSpaces - Grid and Cloud computing
Alternatives
Enterprise Service Bus
Example:
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
Software:
• Websphere Integration Developer (IBM)
• JDeveloper (Oracle)
• Workflow Foundation (Microsoft)
Message Oriented Middleware
• Websphere Interchange Server (IBM)
• Fusion (Oracle)
• Queue Manager (Microsoft)
Software:
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
languages.
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
infrastructure.
.NET
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
environment.
3. A number of other loosely related products and services
under the name “.NET” since it makes everything sound
integrated.
.NET
What’s in it?
• Visual Studio- the development environment C#, Managed C++, VB, Jscript, Visual J#, …
• The .NET Framework
• The .NET Enterprises
• .NET Services
.NET
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
.NET
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
.NET
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.
J2EE 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)
:
J2EE “Industry Standard” unless
1. You are a Microsoft shop2. You are fixed in older technology client server architechtures
based on C++
3. You own proprietary technology
4. You live in a dream world !
:
REST 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?