Title: Versata and Web Services
1Versata and Web Services
- Putting the Service into Web Services!
Brett Adam Snr. Dir. Market Development
2Agenda
- Web Services as a critical component of overall
business software architecture - Integration of the process and transaction logic
in VLS 5.5 as a foundation for Web services - How declarative business logic lets you implement
web services - Versata's Web Services ease and speed of use
through declarative design - Versata's interoperability with Web services
created using Java 2 Enterprise Edition (J2EE)
technologies and the Microsoft .NET
3The Business Focus
This requires a Service Oriented Architecture
4Service Oriented Architecture (SOA)
Web Container
Supports multiple, simultaneous interfaces
presentation layer
Business Logic Container
process layer
Maps systems to the processes of your business
J2EE App Server
service layer
Delivers reusable business transactions
data logic layer
Applies business logic to your corporate data
Data Container
integration layer
Integrates with the rest of your enterprise
back office value chain
Leverages the back office enterprise systems
By 2006, the service-oriented architecture (SOA)
Web and non-Web will be the mainstream
practice for enterprise software engineering (0.7
probability).Source Gartner
5SOA Extends Business Logic to Web Services
- SOA is the best architecture for large,
distributed applications - And, it also sets you up for Web Services
Now youre ready for Web Services!
6Productivity Issue of Implementing a Service
Oriented Architecture
Java IDEs, HTML Java Editors, JSP Wizards, Web
Service tooling Dreamweaver, JBuilder, VA Java,
Vignette, BEA WorkShop Visual Cafe
presentation layer
process layer
50 Automated / 50 Manual
Workflow Servers FileNet, InConcert, Home-grown
approaches
service layer
20 Automated / 80 Manual
Java IDEs,Wizards, Frameworks JBuilder, VA
Java, Visual Cafe
data logic layer
20 Automated / 80 Manual
integration layer
Integration EAI Vendors WebMethods, Mercator,
Vitria, Tibco, IBM MQSeries, BEA WLI, WRQ
back office value chain
Enterprise Application SAP, PeopleSoft, Siebel,
home-grown solutions
7An Example of the Business Logic in the Layers
- Process Layer - Process Logic automates the
sequence of transactions over time - Example if requested funds transfer over 1
million, get approval or start the overdraft
process if the customer cant cover the
withdrawal - Services Layer - Transaction Logic automates a
business transaction at a point in time - Example transfer funds from checking to savings
according to account service contracts - Data Layer - Data Logic automates enforcement of
rules about data elements - Example calculate the customers account
balance customer balance cannot exceed credit
limit
Process Layer ?
Services Layer ?
Data Layer ?
8Java IDEs are NOT a Solution for Building
Managing Business Logic
- Java IDEs
- RAD for Presentation Layer
- RAD for Business Logic Layer Stubs Skeletons
ONLY - RAD for Integration Layer Point to Point ONLY
- RAD for Web Service Layer Packaging ONLY
- Framework/Library some runtime support
- Code Editor, Debugger since everything is
ultimately 3GL code - BUT, Java IDEs
- DONT Capture Business Logic Declaratively
- DONT Provide Graphical Design of Business Logic
- DONT Manage Business Logic as an Asset
- DONT Enforce Compliance to J2EE or SOA for
Business Logic - DONT Automatically Reuse Business Logic
- DONT Automatically Optimize Business Logic
- DONT Debug the Business Logic
Java IDEs are absolutely necessary for
implementing many components of an SOA, but dont
provide the necessary requirements for creating,
executing, changing, or reusing the business
logic in your Java Application Infrastructure
9What does Versata do
Versata complements the capabilitiesof your Java
IDE and Application Server with software products
that enable you to effectively address rapid
development, execution, and management of the
business logic layers in a Java Service Oriented
Architecture
10Versata Fills the Gap Declaratively
presentation layer
HTML, Java, JSP Wizards, Web Service tooling
process layer
Process Design, Management, Execution
Versata Logic Server
97 Automated / 3 Manual
service layer
Automation of Business Transactions Versata
Logic Server
97 Automated / 3 Manual
data logic layer
Enforcement of Business Logic Across Data
Sources Versata Logic Server
97 Automated / 3 Manual
Integration EAI Vendors
integration layer
Enterprise Application
back office value chain
11Example of Business Logic Trade2
Specification
- When Inserting Holding, insert buy Transaction
Create Buy Transaction
Re-calculate Account.PortfolioValue
- PortfolioValue Sum(Holding.CurrentValue)
- CurrentValue QtyOnHand getQuote().getPrice()
- QtyOnHand QtyBought - QtySold
- QtyBought Sum(Transaction.Value where
typebuy)
Check Account Credit Line
- Reject if (Balance lt -CreditLine)
- Adjust Balance by change in SecurityProceeds-Secu
rityCost - SecurityProceeds Sum(Transactions.Amount where
sell) - SecurityCost Sum(Transactions.Amount
where buy) - Send Transaction through EAI to other systems
- If within 10 of CreditLine, start Approval
Process to increase
12Example of Declarative Business Logic
Specification
- When Inserting Holding, insert buy Transaction
Create Buy Transaction
Re-calculate Account.PortfolioValue
- PortfolioValue Sum(Holding.CurrentValue)
- CurrentValue QtyOnHand getQuote().getPrice()
- QtyOnHand QtyBought - QtySold
- QtyBought Sum(Transaction.Value where
typebuy)
Check Account Credit Line
- Reject if (Balance lt -CreditLine)
- Adjust Balance by change in SecurityProceeds-Secu
rityCost - SecurityProceeds Sum(Transactions.Amount where
sell) - SecurityCost Sum(Transactions.Amount
where buy) - Send transaction through MQ to other systems
- If within 10 of CreditLine, start Approval
Process to increase
The Spec is Executable!
13Declarative Approaches Arent New
Second Generation
First Generation
Business Logic
SQL
Versata Logic Server
Relational Database Servers
Business Logic Execution Constrain, Validate,
Compute, Approve
SQL Execution Create, Read, Update, Delete
Database Servers
Business Logic Servers
14Within Your Enterprise Java Infrastructure
15Web Services
16Industry Trends
- Today
- Moving away from tightly-coupled, monolithic apps
- To systems of loosely-coupled, coarse-grained,
dynamically bound components. - Delivering business functionality exposed as
modularized services that can be published,
discovered, and invoked at run time - Across the network and across the firewall using
web based technologies - Future
- We will think about all applications as services
- Web Services provides the technology to enable
this future
17The Next Phase of the Internet
1995
2002
The Business Internet
18Examples of Web Services
- Business Information with Rich Content
- weather reports, News Feeds
- Airline Schedules, Stock Quotes
- Credit Check, Credit Card Validation
- Request for Quotes, Auctions
- Transactional Web Services for B2B, B2C
- Airline Reservations, Rental Car Agreements
- Supply Chain Management, Purchase Order
- Business Process Externalization
- Business linkages at a workflow level
- Allows complete integration at a process level
- Within an enterprise and between partners
19Layers in the emerging Web Services stack
BPML / XLANG / WSFL
Work Flow
UDDI / WSIL
Service Registration
XML
WSDL / WSIF
Description / Location
SOAP
Packaging / Encoding
HTTP / FTP / SMTP / JMS
Transport
TCP / IP
Network
20SOAP A Key Enabling Technology
21Futures Web Services Time Line
Web Services tooling delivered. Developers buy
new Service-oriented development tools. Begin
building real world Web Services. Business Web
Services begins to appear in large numbers. Mass
consumer B2C Web-services already in place.
UDDI Registry adoption Grows in significance.
Private registries proliferate to support private
exchanges. Government usage of Web Services
accelerates significantly. Business adoption of
Web Services based models and Service Centric
Computing enters adolescence. Private registries
still dominate. New revenue generation models and
channel opportunities are commonplace. 40 of
financial Services Transactions leverage Web
Services Models. 35 of online government
Services delivered as Web Services. Public UDDI
Registries gain attention as Public Exchanges
re-emerge. Dynamic Services gain more attention.
2001 2002 2003 2004 2005
22Versata andWeb Services
23Versata is the Service in Web Services
- Two kinds of Web Service Simple and Composite
- Other vendors are focused on the Web part
- Versata Transaction Logic objects are now web
service enabled through VXML - Makes Simple Web Services a snap
- Versata Process Logic now offers snappable Web
Service artifacts as Activities - Enables the declarative construction of Composite
Services - Enables the accessing of internal and external
web services - Enables the rapid deployment of composite web
services in real-time through a Process
Gateway. - We manage the implementation of new services
and rapid change of existing services
24Versatas new Web Service toolkit
- Enables declarative definition of Composite Web
Services, using Versata Business Logic - Both types of Logic!
- Process Logic as Web Service coordinator
- Meta-data driven
- Snappable Web Service components in the Process
Logic Designer - (WSDL / XSLT)
- Invocation of Transaction Logic through VXML
- Exposed through a Session Bean interface
25Major components of the VWSTK
Server Extensions
XML Bindings
Samples
Designers
26Simple Web Service Example
- Invoke Transaction Logic from SOAP
27An Example of a Composite Web Service
- Lets build an Online Order handling Web Service
- Accept an XML payload with all the order
information - Check the credit card validity with a .NET based
Web Service - (also note any failures of the .NET service so we
can manage our SLA with that vendor) - If the card is not valid
- invoke an exception handling sub-process
- If valid
- transform the order data, invoke the Process
Order transaction - Transform the results and send them as an email
message
28VWSTK Composite Example
- Accept an XML payload with all the order
information and invoke some Process Logic
This whole process is a Composite Web Service,
exposed using WSDL, etc
29VWSTK Composite Example
- Check the credit card validity with a .NET based
Web Service
.NET Web Service invocation
30VWSTK Composite Example
- Note any failures of the .NET service so we can
manage our SLA with that vendor
Monitor for SLA reporting
31VWSTK Composite Example
- Test the result of the credit card check service
Decision Logic (XPATH)
32VWSTK Composite Example
- If the card is not valid
- invoke an exception handling sub-process
Dynamic Subprocess (Humans)
33VWSTK Composite Example
- If valid, transform the order data and invoke the
Process Order Transaction Logic (EJBs)
Versata Transaction Logic invocation
Transform Input Data (XSLT)
34VWSTK Composite Example
- Transform the results and send them as an email
message
Transform Response Data (XSLT)
Send Email Response (Java Mail)
35The Transaction Logic can be monitored in real
time through the VLS Console
36VWSTK Composite Example
- Dont forget about synchronicity.
Synchronous Pathway
37VWSTK Composite Example
Asynchronous Activities
38Summary What not How
- This entire Composite Web Service was fully
specified using Declarative Business Logic - Process and Transaction behavior
- No procedural coding at all!
- Business level monitoring was also declared as
part of the service definition - Delivering more business value for less effort
- Synchronous and Asynchronous activities were
declared in the same process - Which is what you really need to do
39But what about WSDL, UDDI, etc.?
- For Simple Web Services using Transaction Logic
- The VXML Adaptor has been Web Service enabled.
No need to generate per object / EJB - WSDL method operation of ProcessVXML
- Can also have WSDL generated automatically by
using JavaDoc comments on beans / classes - .Net takes a similar approach to this
- For Composite Web Services adding Process Logic
- WSDL File should be published via UDDI (Xmethods
etc) or given via B2B / B2C partner - Versata is NOT about Web Service tooling
- IBM, BEA and others do this just fine!
40Standards, Standards, Standards
- SOAP 1.1 compliant
- WSDL 1.1 compliant
- WSIF 1.0 compliant
- WfXML 1.0 compliant
- XSLT - depends on underlying transform
(javax.transform)
41How does Versata fit with IBM WS tooling?
- Versata has been working with IBM Jump Start
(JStart) team to implement Web Services
functionality - Versata makes use of IBM WSTK
- First vendor to implement support for IBM 2nd
generation standards technologies - See more at www-4.ibm.com/software/ebusiness/js
tart/casestudies/versata.html
42What about BEA WebLogic Workshop?
- Enables Java programmers to assemble a Web
Service from components - Without being J2EE programmers
- Butcomponents must either pre-exist
- As EJBs, JMS responders, other Web Services
- Or can be other Web Services assembled with
Workshop - Versata declares the components!
- Resulting in even less J2EE programming required
- Even more rapid Web Service delivery
- Very complementary tool
43Final Thoughts.
- Web Services are not a silver bullet, but
- Standards accelerate adoption
- Lots of momentum technologies moving at
hyper-Internet speed - Impacts all areas of eBusiness
- Intranet/Internet/Extranet
- Many important issues still need to be addressed
- Scalability, performance, reliability, QoS,
security, legal, pricing - Web Services is more than just B2B related
- Biggest market is internal integration - and its
happening now - Important to develop Enterprise Web Service
Strategy - Helps to think of Web Services as a Web of
Services