Download - MS.ppt
1
Master’s Project Presentation
BPEL: Implementation of Software Management and Maintenance using
Business Process Execution Language for Web Services
2
Credits
• Thanks to Dr. Mohammed Zubair
• Thanks to all who have answered my queries
3
Objective
• Inspiration for this project : – Existing Software Configuration Management System (SCM)
tightly coupled– Automation available , however scope is very localized
• Purpose of the project :– Devise the SCM Process as a Web Service Model– Services available to anyone who needs SCM process
• Methodology Used:– Implement SCM as a series of web services and have the work
flow be controlled by BPEL orchestration.
4
Introduction to Configuration Management
5
General Definition of Configuration Management
• Configuration Management (CM) is an important process in the Software Development Life Cycle
• Official builds and release for products/components
• Fits between Dev cycle and QA cycle : {builds}
• Also plays an important role in release of products : {release}
6
Need for CM ?
• Source code control/maintenance– Tracks the users who works on the code base
• Code reproducibility– Tracking features and bugs to specific time line in the
project’s life
• Build number responsibility– Separate numbers for each build– Used for release/patch purpose
• Maintenance of build environment– Different OSs, compilers, external tools etc
7
Need for optimization of the CM environment ?
• Large number of products being built
• A single product being built on different Operating Systems (Windows, Solaris, Mac, etc.)
• A single product being built on different flavors of compilers (gcc-2.95.2, gcc-3.3.4, gcc-4.0.2 etc.)
• Product dependencies
8
CM Work Flow
9
Need for CM-BPEL ?
• Automation of CM process to increase the scope of its visibility.
• Modularity of Work flow : {Units}
• Units can be used by other projects : {Web service capability}
10
Methodology
11
Methodology for CM-BPEL
• Modularity – “Loosely coupled”*• Elements
– “Service Interface : where to call, what to call, format of parameters”*– “Service Implementation : functionality of the service”*
• Workflow oriented• May contain multiple services• Looking for Service Oriented Architecture (SOA)• Why SOA?
– Need to use resources across geographic location– Multiple organizations combining effort– Heterogeneous environment
* - “Making Transformation to Service Oriented Architecture, Capitalizing on Next Revolution in IT,
WebMethods.com”
12
Business Process Management with SOA
• What is BPM?– Provides work flow/business service– Propriety software
• BPEL as BPM– New technology which is BPM with SOA model
• Why BPEL (Business Process Execution Language)?– Web Service model– Participants : IBM, Microsoft, Seibel, BEA Systems– Industry standard– Ease of developing Business Processes– XML based– Free concepts result is non-commercial use
• Sharing intellectual processes/data within/across research organizations
13
General Understanding of BPEL
• BPEL : Business Process Execution Language• Draws inspiration from:
– WSFL[I] (Web Service Flow Language) by IBM– XLANG[II] by Microsoft
• Connects different web services– With in an organization– Across different organizations
• SOA: Shared services• Depends on
– WSDL 1.1 , XML Schema 1.0, XPath 1.0, WS-Addressing.
14
BPEL Orchestration
• Orchestration design– Central process controls work flow– Participating web services do not know about
the participation– Highly modular design making it more efficient– Responsible for invoking the Web Services in
the order required by the business
15
Overview of BPEL
Web Service1ws1.wsdl
Web Service2ws2.wsdl
Web Service3ws3.wsdl
Web Service4ws4.wsdl
B
P
E
L
16
BPEL
WebService1
WebService n
Client
Receive
Invoke
Invoke
Reply
17
BPEL variable-partner link
18
BPEL – External Web Services interaction
• <variable> :– abstract data used in the process : {<variable
name="Invoke_1_process_InputVariable"/>}– messageType: refers to wsdl message definition {<variable
messageType="ns1:DetermineBuildNumberRequestMessage"/>}
• <partnerLinks> :– Web Services that take part in BPEL orchestation : {<partnerLink
partnerLinkType="ns1:DetermineBuildNumber"/>}
• Other tags : <receive>, <reply> , <invoke> ,<assign> <throw> ,<terminate>,<wait> ,<empty>, <sequence> <switch>, <while> ,<pick>, <flow>,<scope>, <compensate>
19
BPEL – External Web Services interaction
BPEL
<variable messageType="ns1:DetermineBuildNumberRequestMessage"/>
WSDL in other web service
<message name="DetermineBuildNumberRequestMessage"><part name="payload"
element="client:DetermineBuildNumberProcessRequest"/></message>
20
BPEL process control
21
WSDL-BPEL interaction
• BPEL itself can be exposed as a web-service by WSDL
• Specifies entry and exit point for BPEL
22
General Understanding of BPEL - wsdl
23
WSDL-BPEL interaction
Web Service1ws1.wsdl
Web Service2ws2.wsdl
Web Service3ws3.wsdl
Web Service4ws4.wsdl
B
P
E
L
W
S
D
L
24
Implementation of BPEL for Configuration Management
Process
25
CM-BPEL Orchestration
WebUI(HTML Interface)
BPEL Orchestration
Determine Build Number
Build Unit
File Transfer Unit
Email Unit
26
Implementation of CM through BPEL
27
Project Demonstration
28
Future Work
• Implementation on heterogeneous distributed system, OSs, Database
• Scale to accommodate any project that is being developed
• Access Control
29
Learning experience
• Understanding the need for CM process to be more available for any software development process
• Understanding the BPEL technology• Advantages:
– Simple and powerful technology– Reusable model : transparent domain
• Caveats– New Technology : “transition may or may not happen soon” –
Challenges with Using BPEL : Guy Huntington, Huntington Ventures Ltd, “The Business of Identity Management”
– “Not all models can be converted to BPEL model” - Challenges with Using BPEL : Guy Huntington, Huntington Ventures Ltd, “The Business of Identity Management”
30
Q & A Session
31
References• http://www.oracle.com/technology/products/ias/bpel/index.html• http://www-128.ibm.com/developerworks/library/specification/ws-bpel/• http://www.alphaworks.ibm.com/tech/bpws4j• http://www.theserverside.com/articles/article.tss?l=BPELJava• Making Transformation to Service Oriented Architecture, Capitalizing on
Next Revolution in IT, WebMethods.com http://www1.webmethods.com/PDF/Making_the_Transformation_to_SOA.pdf
• [I] http://www-306.ibm.com/software/solutions/webservices/pdf/WSFL.pdf• [II] http://www.gotdotnet.com/team/xml_wsspecs/xlang-c/default.htm• Guy Huntington, Huntington Ventures Ltd, “The Business of Identity
Management”, “Challenges With Using BPEL”• Warren Buckley, Realizing the Power of BPEL,bpm.com• http://www.oracle.com/technology/oramag/oracle/04-jul/o44dev_web.html