© copyright iona technologies 2002 part 2: web service composition: unlocking your interface...
TRANSCRIPT
© C
opyright ION
A T
echnologies 2002
PART 2: Web Service Composition: Unlocking Your Interface Potential
Seumas Soltysik
Senior Software Engineer, XMLBus
Preparing Your Enterprise for Web Services
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
Integration: The “Killer App” for Web Services
• Set of industry standards for distributed computing
• Service-oriented architectures enable End to Anywhere™ integration
• E2A changes the economics of integration
• Web services is the driving technology
– Simple
– Effective
– Unanimous industry support
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
The Statement
Web Services should not be a regurgitation of existing infrastructure but
should build on top of that infrastructure to define a set of flexible services to handle
the evolving needs of a business.
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
The Agenda
• The Typical Web Service of Today• The Need for Coarser Grained Web Services• Separating Interface from Implementation• Operation Flow Designer
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
The Present- How it is
Companies with existing CORBA and EJB services are exposing those services directly as Web Services.
This solution is too fine-grained and locks Web Service to interface of EJB/CORBA
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
The Future- How it Should Be
• Ease of Composition: Through a graphical user interface
• Ease of Change: to support new and evolving business processes and requirements
• Ease of aggregation: Grouping disparate applications within the value chain together to fulfill new business requirements
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
The Future is Now-Interface Mapping
What Interface Mapping Does Breaks the tie between the Web Service interface
exposed by WSDL and the EJB/CORBA interfaces by defining a single Web Service based upon multiples existing EJB/CORBA services
Avoids fine-grained Web Services which leads to unnecessary chatter on the wire
Allows user to rapidly generate a Web Service based upon existing services. Low cost of building and destroying Web Services
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
Interface Mapping
What Interface Mapping Is Not Interface Mapping is NOT workflow
Interface Mapping involves making fine-grained invocations that are not long-term in scope
Interface Mapping is limited to leveraging existing EJB and CORBA services and is not about Document management/flow
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
From EJB to Web Service
//HOME Interface
public interface iBankAuthorizationHome extends EJBHome {
public iBankAuthorization create() throws RemoteException, CreateException;
}
//Remote Interface
public interface iBankAuthorization extends EJBObject {
public void logout() throws RemoteException;
public int login(String userName, String password)
throws RemoteException, iBankLoginException
public int newAccount(String userName, String password)
throws RemoteException, CreateException
}
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
From EJB to Web Service
//HOME Interface
public interface iBankAccountHome extends EJBHome {
iBankAccount create(Integer accountID, double balance)
throws RemoteException, CreateException;
iBankAccount findByPrimaryKey(Integer accountIDKey)
throws FinderException, RemoteException;
}
//REMOTE Interface
public interface iBankAccount extends EJBObject {
public String getName() throws RemoteException
public double getBalance() throws RemoteException
public void deposit(double amount) throws RemoteException,
public void withdraw(double amount) throws RemoteException
public void setPassword(String oldPassword, String newPassword)
throws RemoteException }
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
Network Chatter-Invoking the EJBs
Obtaining Account Information(Balance, Name, ID)Object obj = ctx.lookup("java:comp/env/ejb/iBankAuthorization"),iBankAuthorizationHome iBankAuthHome =
(iBankAuthorizationHome)PortableRemoteObject.narrow(obj, iBankAuthorizationHome.class);iBankAccountHome accountHome = (iBankAccountHome)PortableRemoteObject.narrow( ctx.lookup("java:comp/env/ejb/iBankAccount"), iBankAccountHome.class);
iBankAuthorization iBankAuth = iBankAuthHome.create();int acctID = iBankAuth.login(name, password);account = accountHome.findByPrimaryKey(new Integer(acctID));Float balance = account.getBalance();String accountName = account.getName();
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
Avoiding Network Chatter
• The Problem- How do you construct a Web Service which returns all account information– Turning each method call into a Web Service leads to highly chatty,
fat Web Services– Web Services mimic EJB interfaces
• The Solution-Operation Flow Designer– Graphical based tool for linking EJB and CORBA invocations
without having to write code– Allows user to assemble a Web Service whose interface is loosely
coupled to existing EJB/CORBA services– Free to define a Web Service interface any way you want
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
Creating a Home Lookup Activity
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
Creating a Home Lookup Activity
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
Creating a Method Activity
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
Associating Activities
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
The Whole Enchilada
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
The Abstract Interface-WSDL<definitions name="BankFlowService" targetNamespace="http://xmlbus.com/BankFlowApp"
xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://xmlbus.com/BankFlowApp" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsd1="http://xmlbus.com/BankFlowApp/xsd">
- <message name="login"> - <part name="User_Name_Input" type="xsd:string" /> - <part name="Password_Input" type="xsd:string" />
- </message>- <message name="loginResponse">
- <part name="Name_Output" type="xsd:string" /> - <part name="Balance_Output" type="xsd:double" /> - <part name="Account_ID_Output" type="xsd:int" />
- </message>- <portType name="BankFlowPortType">-
- <operation name="login"> - <input message="tns:login" name="login" /> - <output message="tns:loginResponse" name="loginResponse" />
- </operation> - </portType>- <binding name="BankFlowPortBinding" type="tns:BankFlowPortType">- <service name="BankFlowService"> </definitions>
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
History• Founded in Ireland in 1991; IPO on Nasdaq in 1997• Global company with headquarters in Dublin, Ireland and Waltham, MA
Financial Performance• Calendar year 2001 statistics
– Revenues $181 million (65% license / 35% services)– Positive operating margins
Team• Over 900 employees in over 30 offices worldwide with a sales force of over 300• Strong blue chip customer and partner base
IONA is a leading provider of comprehensive, standards-based enterprise infrastructure solutions for customers to build, deploy and integrate mission-critical applications that power core business processes
The IONA Story
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
20
• Integration broker platform• Connects existing applications and services• Allows creation of automated business
process flows across extended enterprise using Web Services and XML standards
• Application server platform for developing, deploying and managing business application logic
• Hosted in J2EE, CORBA or mainframe environments using Web services standards
It Takes A Platform
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
Orbix E2A™
“Best Web Services Product”
Simplifies EAI, B2Bi, and BPM
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
Web Services Integration Now!• Visit XMLBus.comXMLBus.com and download Orbix
E2A™ XMLBus Edition.• Sign up for IONA training on Web
services• Download IONA’s Web services white
paper at XMLBus.comXMLBus.com• Check out Orbix E2A™, the first e-
Business Platform for Web Services Integration.
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
Upcoming Webcasts
Don’t forget IONA WorldOctober 27 - 30th, San Diego, CA
PART 3: B2B Collaboration: Expanding Web Services Architectures Tuesday, May 28
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
Questions?
© C
opyrigh
t ION
A T
echn
ologie
s 200
2
I Want My MTV!
To experiment with the Operation Flow Designer go to:
www.xmlbus.com
and download XMLBus