SlideShare a Scribd company logo
‫أكاديمية الحكومة اإللكترونية الفلسطينية‬
           The Palestinian eGovernment Academy
                               www.egovacademy.ps



                               Tutorial III:
Process Integration and Service Oriented Architectures


                    Session 1
               Introduction to SOA

                              Prepared By

                       Mohammed Aldasht

                                 Reviewed by
     Prof. Marco Ronchetti and Prof. Paolo Bouquet, Trento University, Italy
                                  PalGov © 2011                                1
About

This tutorial is part of the PalGov project, funded by the TEMPUS IV program of the
Commission of the European Communities, grant agreement 511159-TEMPUS-1-
2010-1-PS-TEMPUS-JPHES. The project website: www.egovacademy.ps
Project Consortium:
             Birzeit University, Palestine
                                                           University of Trento, Italy
             (Coordinator )


             Palestine Polytechnic University, Palestine   Vrije Universiteit Brussel, Belgium


             Palestine Technical University, Palestine
                                                           Université de Savoie, France

             Ministry of Telecom and IT, Palestine
                                                           University of Namur, Belgium
             Ministry of Interior, Palestine
                                                           TrueTrust, UK
             Ministry of Local Government, Palestine


Coordinator:
Dr. Mustafa Jarrar
Birzeit University, P.O.Box 14- Birzeit, Palestine
Telfax:+972 2 2982935 mjarrar@birzeit.eduPalGov © 2011
                                                                                                 2
© Copyright Notes
Everyone is encouraged to use this material, or part of it, but should properly
cite the project (logo and website), and the author of that part.


No part of this tutorial may be reproduced or modified in any form or by any
means, without prior written permission from the project, who have the full
copyrights on the material.




                   Attribution-NonCommercial-ShareAlike
                                CC-BY-NC-SA

This license lets others remix, tweak, and build upon your work non-
commercially, as long as they credit you and license their new creations
under the identical terms.

                                    PalGov © 2011                                 3
Tutorial Map



           Intended Learning Objectives
A: Knowledge and Understanding
                                                                                    Title                    T    Name
 3a1: Demonstrate knowledge of the fundamentals of middleware.
 3a2: Describe the concept behind web service protocols.
                                                                     Session0: Syllabus and overview         0   Aldasht
 3a3: Explain the concept of service oriented architecture.          Sesson1: Introduction to SOA            2   Aldasht
 3a4: Explain the concept of enterprise service bus.                 Session2: XML namespaces & XML schema   2   Aldasht
 3a5: Understanding WSDL service interfaces in UDDI.                 Session 3: Xpath & Xquery               4   Romi
B: Intellectual Skills                                               Session4: REST web services             3   M. Melhem
 3b1: Design, develop, and deploy applications based on Service      Session5: Lab2: Practice on REST        3   M. Melhem
 Oriented Architecture (SOA).                                        Session 6: SOAP                         2   Aldasht
 3b2: use Business Process Execution Language (BPEL).                Session 7: WSDL                         3   Aldasht
 3b3: using WSDL to describe web services.
                                                                     Session8: Lab 3: WSDL practice          3   Aldasht
C: Professional and Practical Skills                                 Session9: ESB                           4   Aldasht
 3c1: setup, Invoke, and deploy web services using integrated
                                                                     Session10: Lab4: Practice on ESB        4   Aldasht
 development environment.
                                                                     Session11: integration patterns         4   M. Melhem
 3c2: construct and use REST and SOAP messages for web
 services communication.                                             Session12: Lab5: integration patterns   4   M. Melhem
D: General and Transferable Skills                                   Session13: BPEL                         3   Aldasht
 d1: Working with team.                                              Session14: Lab6: Practice on BPEL       3   Aldasht
 d2: Presenting and defending ideas.                                 Session15: UDDI                         2   Aldasht
 d3: Use of creativity and innovation in problem solving.
 d4: Develop communication skills and logical reasoning abilities.
Session 1: Introduction to SOA

                        Session ILOs
After completing this module students will be able to:
1. Demonstrate knowledge of the fundamentals of
    middleware
2. Explain the concept of service oriented architecture
3. Describe some characteristics of web services and
    applications based on SOA
Session Outlines


   Introduction
       SOA concepts and terms.
       SOA key principles and basic role.
     Middleware
     Web services
     Palestinian e-Government Architecture
     Summary
What is SOA?

• SOA: an architectural style based on loosely coupled interacting
  software components that provide services [3].
• A service is a piece of functionality provided by a service
  provider and delivers final results to the service consumer.
• SOA based application packages functionality as a suite of
  interoperable services to be used within multiple systems from
  several business domains [5].
• The core concept of SOA is loose coupling of software services.
   – Means organizing different services to minimize their interdependencies
• This is much more adaptable than expensive and tightly coupled
  technologies, like CORBA and DCOM
SOA key terms

• A service: is a repeatable business task; e.g. renew
  driving license or register a student.
• Service oriented: a way of integrating a business
  as a linked services and the outcomes that they
  bring.
• Service oriented architecture: an IT architectural
  style that supports service orientation [6].
• A composition application: a set of related and
  integrated services that support a business process
  built on an SOA.
Key principles of SOA


• Some key principles are [7]:
  1. With loose coupling, a service logic can change with
     minimal impact on other services within the same SOA.
  2. Service contract: descriptions and other documents
     describing how a service can be accessed.
  3. Abstraction of underlying logic means that services
     interact with each other only via their public interfaces,
     hiding the service implementation details.
  4. Autonomy means that services control only the logic they
     encapsulate
  5. Interoperability.
SOA: Basic Role


• SOA decouples interfaces from applications.
• The number and complexity of interfaces is
  reduced.
• Business applications and their interfaces become
  reusable.
• Interfaces tightly coupled with point to point
  connections
SOA: Basic Role




Application      Application     Application           Service          Service     Service

                                                       Interface        Interface   Interface




                                                       Interface        Interface   Interface
Application      Application     Application

                                                       Service          Service     Service

       = Interface
                                    Source, IBM education assistant:
                           http://publib.boulder.ibm.com/infocenter/ieduasst
Session Outlines


   Introduction
       SOA concepts and terms.
       SOA key principles and basic role.
     Middleware
     Web services
     Palestinian e-Government Architecture
     Summary
Introduction to Middleware


• A layer of software that lies between the
  application code and the run-time infrastructure [1].
   – Connects software components or people and their
     applications
   – Provide interoperability in support of the move to
     coherent distributed architectures
   – Allows data contained in one database to be accessed
     through another.
   – Fits enterprise application integration and data
     integration software.
Middleware-based distributed system




General structure of a distributed system as middleware, source [2]
Middleware protocols and interfaces




                           1.23




In an open middleware-based distributed system, the protocols used by each
 middleware layer should be the same, as well as the interfaces they offer to
 applications, source [2]
Communication models in Middleware

•   3 widely used communication models [2]:
    1. RPC: a client calls procedures running on remote systems,
       can be asynchronous or synchronous.
    2. Message Oriented Middleware (MOM)
    3. Data streaming: communication in which timing plays a
       crucial role “Audio and video”.
•   Generally, there are two ways to communicate:
       – Enterprise messaging system: message passing in
         standard formats, using XML, SOAP or web services.
       – Enterprise Service Bus: some type of integration
         middleware that supports both MOM and Web services.
Session Outlines


   Introduction
       SOA concepts and terms.
       SOA key principles and basic role.
     Middleware
     Web services
     Palestinian e-Government Architecture
     Summary
What is a web service?

• Have an application!
• Want to convert your application into a web application?
• Web services is the answer!
• Web application then, can publish its function to the rest of the
  world!
• Web Services are published, found, and used through the Web
• XML is the basis for Web services
SOA and Web services

• The term Web service describes a standardized way of
  integrating Web-based applications [4];
   – This can be done using the XML, SOAP, WSDL and UDDI open
     standards over an Internet protocol backbone.
   – SOAP (Simple Object Access Protocol)
   – UDDI (Universal Description, Discovery and Integration)
   – WSDL (Web Services Description Language)
• Web service is an implementation of service oriented
  architecture


      Service Service Request Service
     Provider                  Consumer
     Software Service Response Software   Implementation   Web Service
SOA and Web services, cont.

• SOAP, WSDL and UDDI support the interaction
  between the WS requester and the WS provider
• Provider can publish a WSDL description of its Web
  service, and the requester accesses the description
  using a UDDI
• Requester can request the execution of the provider's
  service by sending a SOAP message to it
• WS standards add a layer of abstraction which is
  open to integrate with new and existing
  environments.
Basic Web services architecture

                                 Directory


                           Service Description


           SOAP                                            SOAP

                                         WSDL




 Service               Service Request (XML format)                Service
Provider                                                          Consumer
Software             Service Response (XML format)                Software



                      Requests and responses are
                   Based on the specification defined in
                     service description using WSDL




 Web services architecture consists of specifications, source [4].
Web Services Technology

• XML: enabling the definition, transmission, validation, and
  interpretation of data between applications and between
  organizations.
• SOAP: lightweight XML-based (W3C standard) messaging
  protocol used to encode the information in Web service request
  and response messages before sending them over the Internet.
   – SOAP is platform independent
   – SOAP is language independent
   – SOAP allows you to get around firewalls
Web Services Technology, cont.

• WSDL: an XML-based language (W3C standard)
   – Used to locate and describe a Web service’s capabilities as
     collections of communication endpoints capable of exchanging
     messages.
• UDDI: a Web-based distributed directory
   – UDDI enables businesses to list themselves on the Internet and
     discover each other.
   – UDDI is a directory for storing information about web services
   – UDDI is a directory of web service interfaces described by WSDL
   – UDDI communicates via SOAP
Why using Web services?

• Reusable application-components
   – Application-components like language translation, currency conversion,
     etc... can be reused.
   – A widely used approach to simplify software reuse is the component-
     based software engineering.
• Connect existing software
   – Interoperability problem is solved!
   – Existing applications are developed in different technologies like:
     ms.net, PHP, Java, etc…
   – With Web services different applications and different platforms can
     exchange data (interoperate).
Web Service example:

• A simple ASP.NET Web Service that converts the temperature
  from Fahrenheit to Celsius, and vice versa.
• Go to the following link:
  http://www.w3schools.com/webservices/ws_example.asp
• To use the Web Service Example, Go to the following link:
  http://www.w3schools.com/webservices/ws_use.asp

• Now we can Implement our first web service example using MS
  Visual Studio 2010!
• Start new web site,
• Select from visual C# with .NET Framework 3.5, the
  template called ASP.NET Web Service.
• Put the name you want! (name your service)
• Edit the C# code “service.cs”; to add the WebMethod,
  which will achieve the required function:
  [WebMethod]
  public int GetMyAgeInDays(int day, int month, int year){
       DateTime dt = new DateTime(year, month, day);
       int days = DateTime.Now.Subtract(dt).Days;
       return days;
   }

• Save, build the Web site, and from the solution explorer,
  right click the “page”.asmx and select as a default page.
• Run the website! Press “Crtl + F5”
• You will get the output in the next slide!
Pal gov.tutorial3.session1.soa
Internet Based Computing




                                      Cloud
                                                            Intelligent web with
             SOC-Based web 2.0
Dynamic                             Computing                web 2.0 & web 3.0
             UDDI, WSDL, SOAP
                                                                composition




                   WWW           Semantic-Based web 3.0
Static       URI, HTML, HTTP        RDF, RDFS, OWL


                 Syntax                         Semantics
Designing for service-oriented integration, source[4], with minor adjustment
Session Outlines


   Introduction
       SOA concepts and terms.
       SOA key principles and basic role.
     Middleware
     Web services
     Palestinian e-Government Architecture
     Summary
The Palestinian e-Government Architecture

• The Palestinian e-Government architecture has been
  developed in cooperation with the Estonian
  government [8].
  – The architecture connects all ministries together through a
    government service bus, called “x-road Palestine”.
  – The service bus, with the other components, represents
    standard service oriented architecture with an emphasis on
    the provision of secure services.
  – Not yet implemented, but there is a general consensus about
    it among most governmental bodies
The Palestinian e-Government Architecture




               Source, [8]
Session Outlines


   Introduction
       SOA concepts and terms.
       SOA key principles and basic role.
     Middleware
     Web services
     Palestinian e-Government Architecture
     Summary
Summary

In this session we have introduced SOA where the concept of
    service oriented architecture has been explained, then the
    fundamentals of middleware were discussed.
Finally, we have described the most important characteristics of
    applications (web services) based on SOA.
References

1.   Extracted from http://en.wikipedia.org/wiki/Middleware
2.   Andrew S. Tanenbaum and Maarten van Steen Distributed Systems: Principles
     and Paradigms, 2nd Edition, Publisher: Pearson Education Inc., Copyrights: 2007
3.   E.Newcomer and G.Lomow, Understanding SOA with Web Services, Addison
     Wesley Professional, ISBN: 0-321-18086-0, 2004.
4.   Effective Performance Management for Service-Oriented Applications, WHITE
     PAPER, Copyright © 2009 Precise Software Solutions, Inc.
5.   Extracted from: http://en.wikipedia.org/wiki/Service-oriented_architecture
6.   Extracted              from           IBM             education            assistant:
     http://publib.boulder.ibm.com/infocenter/ieduasst, 9/2011.
7.   Yuli Vasiliev , SOA and WS-BPEL, Copyright © 2007 Packt Publishing
8.   Ministry of Telecommunication and Information Technology: e-Government
     Program, Palestine X-Road: Palestinian e-Government Architecture. Ramallah,
     Palestine. January 2011.
Thanks
Mohammed Aldasht

More Related Content

PDF
Pal gov.tutorial3.session11.integration.patterns
PDF
Pal gov.tutorial3.session13.bpel
PDF
Pal gov.tutorial3.session9.esb
PDF
Pal gov.tutorial3.session6.soap
PDF
Pal gov.tutorial3.session4.rest
PPT
Chapter 2 slides
PDF
Pal gov.tutorial3.session15.uddi
DOCX
Part I -Summary of service oriented architecture (soa) concepts, technology, ...
Pal gov.tutorial3.session11.integration.patterns
Pal gov.tutorial3.session13.bpel
Pal gov.tutorial3.session9.esb
Pal gov.tutorial3.session6.soap
Pal gov.tutorial3.session4.rest
Chapter 2 slides
Pal gov.tutorial3.session15.uddi
Part I -Summary of service oriented architecture (soa) concepts, technology, ...

What's hot (12)

DOC
Maintenance Best Practices for Service Oriented
PDF
Overview of web services
PDF
CHOReOS European project presented to ANIKETOS project (part 2)
PDF
Enhancement in Web Service Architecture
PPTX
Web Services - Introduction
KEY
Lwmk2presentationshort
PDF
Unstoppable Stateful PHP Web Services
PDF
Project network chat presentation
DOCX
Tee temp
PPT
Real Time, Web 2.0, and Grid Systems
PDF
15 falko menge--_enterpise_service_bus
PDF
Service level agreement template
Maintenance Best Practices for Service Oriented
Overview of web services
CHOReOS European project presented to ANIKETOS project (part 2)
Enhancement in Web Service Architecture
Web Services - Introduction
Lwmk2presentationshort
Unstoppable Stateful PHP Web Services
Project network chat presentation
Tee temp
Real Time, Web 2.0, and Grid Systems
15 falko menge--_enterpise_service_bus
Service level agreement template
Ad

Viewers also liked (10)

PDF
Pal gov.tutorial3.session14.lab6
PDF
Pal gov.tutorial3.session2.xml ns and schema
PDF
Pal gov.tutorial3.session5.lab2
PDF
Pal gov.tutorial3.session8.lab3
PDF
Pal gov.tutorial3.session12.lab5
PDF
Pal gov.tutorial3.session10.lab4
PDF
Pal gov.tutorial3.session3.xpath & xquery (lab1)
PDF
Pal gov.tutorial3.session7
PDF
Pal gov.tutorial1.session13 14
PDF
Business Process Modeling Notation Fundamentals
Pal gov.tutorial3.session14.lab6
Pal gov.tutorial3.session2.xml ns and schema
Pal gov.tutorial3.session5.lab2
Pal gov.tutorial3.session8.lab3
Pal gov.tutorial3.session12.lab5
Pal gov.tutorial3.session10.lab4
Pal gov.tutorial3.session3.xpath & xquery (lab1)
Pal gov.tutorial3.session7
Pal gov.tutorial1.session13 14
Business Process Modeling Notation Fundamentals
Ad

Similar to Pal gov.tutorial3.session1.soa (20)

PDF
Pal gov.tutorial3.session0.outline
PDF
Keynote-Service Orientation – Why is it good for your business
PDF
Radovan Janecek R E S Tor S O A Pv1
PPT
Service-oriented Architecture with Respect to Reusability
PDF
Cc unit 2 updated
PDF
Spagic3 Presentation En
PDF
Spagic3 Presentation En
PPTX
SOA - Unit 2 - Service Oriented Architecture
PDF
Osb student guide
PDF
Service Integration Goes Social with EasySOA - OpenWorldForum 2011
PDF
Reconfigurable Service-Oriented Architectures
PDF
Service Integration Goes Social - Solutions Linux 2012 (OW2 Track)
PPTX
Introduction to SOA
PPT
Soa Test Methodology
PPTX
02 Service Oriented Architecture Series - SOA Concepts
PDF
Pal gov.tutorial2.session12 2.architectural solutions for the integration issues
PPT
Introduction to Service Oriented Architecture
PPT
Soa Overview
PPT
Soa role in telco industry
PPT
Enhancing The Role Of A Large Us Federal Agency As An Intermediary In The Fed...
Pal gov.tutorial3.session0.outline
Keynote-Service Orientation – Why is it good for your business
Radovan Janecek R E S Tor S O A Pv1
Service-oriented Architecture with Respect to Reusability
Cc unit 2 updated
Spagic3 Presentation En
Spagic3 Presentation En
SOA - Unit 2 - Service Oriented Architecture
Osb student guide
Service Integration Goes Social with EasySOA - OpenWorldForum 2011
Reconfigurable Service-Oriented Architectures
Service Integration Goes Social - Solutions Linux 2012 (OW2 Track)
Introduction to SOA
Soa Test Methodology
02 Service Oriented Architecture Series - SOA Concepts
Pal gov.tutorial2.session12 2.architectural solutions for the integration issues
Introduction to Service Oriented Architecture
Soa Overview
Soa role in telco industry
Enhancing The Role Of A Large Us Federal Agency As An Intermediary In The Fed...

More from Mustafa Jarrar (20)

PPTX
Clustering Arabic Tweets for Sentiment Analysis
PPTX
Classifying Processes and Basic Formal Ontology
PPTX
Discrete Mathematics Course Outline
PPTX
Business Process Implementation
PPTX
Business Process Design and Re-engineering
PPTX
BPMN 2.0 Analytical Constructs
PPTX
BPMN 2.0 Descriptive Constructs
PPTX
Introduction to Business Process Management
PDF
Customer Complaint Ontology
PPTX
Subset, Equality, and Exclusion Rules
PPTX
Schema Modularization in ORM
PPTX
On Computer Science Trends and Priorities in Palestine
PPTX
Lessons from Class Recording & Publishing of Eight Online Courses
PPTX
Presentation curras paper-emnlp2014-final
PPTX
Jarrar: Future Internet in Horizon 2020 Calls
PPT
Habash: Arabic Natural Language Processing
PDF
Adnan: Introduction to Natural Language Processing
PPTX
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
PPTX
Bouquet: SIERA Workshop on The Pillars of Horizon2020
PPTX
Jarrar: Sparql Project
Clustering Arabic Tweets for Sentiment Analysis
Classifying Processes and Basic Formal Ontology
Discrete Mathematics Course Outline
Business Process Implementation
Business Process Design and Re-engineering
BPMN 2.0 Analytical Constructs
BPMN 2.0 Descriptive Constructs
Introduction to Business Process Management
Customer Complaint Ontology
Subset, Equality, and Exclusion Rules
Schema Modularization in ORM
On Computer Science Trends and Priorities in Palestine
Lessons from Class Recording & Publishing of Eight Online Courses
Presentation curras paper-emnlp2014-final
Jarrar: Future Internet in Horizon 2020 Calls
Habash: Arabic Natural Language Processing
Adnan: Introduction to Natural Language Processing
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
Bouquet: SIERA Workshop on The Pillars of Horizon2020
Jarrar: Sparql Project

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Spectroscopy.pptx food analysis technology
PPTX
MYSQL Presentation for SQL database connectivity
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
cuic standard and advanced reporting.pdf
PPT
Teaching material agriculture food technology
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Empathic Computing: Creating Shared Understanding
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
KodekX | Application Modernization Development
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
sap open course for s4hana steps from ECC to s4
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Spectroscopy.pptx food analysis technology
MYSQL Presentation for SQL database connectivity
“AI and Expert System Decision Support & Business Intelligence Systems”
Advanced methodologies resolving dimensionality complications for autism neur...
cuic standard and advanced reporting.pdf
Teaching material agriculture food technology
Building Integrated photovoltaic BIPV_UPV.pdf
Electronic commerce courselecture one. Pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Spectral efficient network and resource selection model in 5G networks
Reach Out and Touch Someone: Haptics and Empathic Computing
Empathic Computing: Creating Shared Understanding
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Dropbox Q2 2025 Financial Results & Investor Presentation
KodekX | Application Modernization Development
Encapsulation_ Review paper, used for researhc scholars
Agricultural_Statistics_at_a_Glance_2022_0.pdf
NewMind AI Weekly Chronicles - August'25 Week I
sap open course for s4hana steps from ECC to s4

Pal gov.tutorial3.session1.soa

  • 1. ‫أكاديمية الحكومة اإللكترونية الفلسطينية‬ The Palestinian eGovernment Academy www.egovacademy.ps Tutorial III: Process Integration and Service Oriented Architectures Session 1 Introduction to SOA Prepared By Mohammed Aldasht Reviewed by Prof. Marco Ronchetti and Prof. Paolo Bouquet, Trento University, Italy PalGov © 2011 1
  • 2. About This tutorial is part of the PalGov project, funded by the TEMPUS IV program of the Commission of the European Communities, grant agreement 511159-TEMPUS-1- 2010-1-PS-TEMPUS-JPHES. The project website: www.egovacademy.ps Project Consortium: Birzeit University, Palestine University of Trento, Italy (Coordinator ) Palestine Polytechnic University, Palestine Vrije Universiteit Brussel, Belgium Palestine Technical University, Palestine Université de Savoie, France Ministry of Telecom and IT, Palestine University of Namur, Belgium Ministry of Interior, Palestine TrueTrust, UK Ministry of Local Government, Palestine Coordinator: Dr. Mustafa Jarrar Birzeit University, P.O.Box 14- Birzeit, Palestine Telfax:+972 2 2982935 mjarrar@birzeit.eduPalGov © 2011 2
  • 3. © Copyright Notes Everyone is encouraged to use this material, or part of it, but should properly cite the project (logo and website), and the author of that part. No part of this tutorial may be reproduced or modified in any form or by any means, without prior written permission from the project, who have the full copyrights on the material. Attribution-NonCommercial-ShareAlike CC-BY-NC-SA This license lets others remix, tweak, and build upon your work non- commercially, as long as they credit you and license their new creations under the identical terms. PalGov © 2011 3
  • 4. Tutorial Map Intended Learning Objectives A: Knowledge and Understanding Title T Name 3a1: Demonstrate knowledge of the fundamentals of middleware. 3a2: Describe the concept behind web service protocols. Session0: Syllabus and overview 0 Aldasht 3a3: Explain the concept of service oriented architecture. Sesson1: Introduction to SOA 2 Aldasht 3a4: Explain the concept of enterprise service bus. Session2: XML namespaces & XML schema 2 Aldasht 3a5: Understanding WSDL service interfaces in UDDI. Session 3: Xpath & Xquery 4 Romi B: Intellectual Skills Session4: REST web services 3 M. Melhem 3b1: Design, develop, and deploy applications based on Service Session5: Lab2: Practice on REST 3 M. Melhem Oriented Architecture (SOA). Session 6: SOAP 2 Aldasht 3b2: use Business Process Execution Language (BPEL). Session 7: WSDL 3 Aldasht 3b3: using WSDL to describe web services. Session8: Lab 3: WSDL practice 3 Aldasht C: Professional and Practical Skills Session9: ESB 4 Aldasht 3c1: setup, Invoke, and deploy web services using integrated Session10: Lab4: Practice on ESB 4 Aldasht development environment. Session11: integration patterns 4 M. Melhem 3c2: construct and use REST and SOAP messages for web services communication. Session12: Lab5: integration patterns 4 M. Melhem D: General and Transferable Skills Session13: BPEL 3 Aldasht d1: Working with team. Session14: Lab6: Practice on BPEL 3 Aldasht d2: Presenting and defending ideas. Session15: UDDI 2 Aldasht d3: Use of creativity and innovation in problem solving. d4: Develop communication skills and logical reasoning abilities.
  • 5. Session 1: Introduction to SOA Session ILOs After completing this module students will be able to: 1. Demonstrate knowledge of the fundamentals of middleware 2. Explain the concept of service oriented architecture 3. Describe some characteristics of web services and applications based on SOA
  • 6. Session Outlines  Introduction  SOA concepts and terms.  SOA key principles and basic role.  Middleware  Web services  Palestinian e-Government Architecture  Summary
  • 7. What is SOA? • SOA: an architectural style based on loosely coupled interacting software components that provide services [3]. • A service is a piece of functionality provided by a service provider and delivers final results to the service consumer. • SOA based application packages functionality as a suite of interoperable services to be used within multiple systems from several business domains [5]. • The core concept of SOA is loose coupling of software services. – Means organizing different services to minimize their interdependencies • This is much more adaptable than expensive and tightly coupled technologies, like CORBA and DCOM
  • 8. SOA key terms • A service: is a repeatable business task; e.g. renew driving license or register a student. • Service oriented: a way of integrating a business as a linked services and the outcomes that they bring. • Service oriented architecture: an IT architectural style that supports service orientation [6]. • A composition application: a set of related and integrated services that support a business process built on an SOA.
  • 9. Key principles of SOA • Some key principles are [7]: 1. With loose coupling, a service logic can change with minimal impact on other services within the same SOA. 2. Service contract: descriptions and other documents describing how a service can be accessed. 3. Abstraction of underlying logic means that services interact with each other only via their public interfaces, hiding the service implementation details. 4. Autonomy means that services control only the logic they encapsulate 5. Interoperability.
  • 10. SOA: Basic Role • SOA decouples interfaces from applications. • The number and complexity of interfaces is reduced. • Business applications and their interfaces become reusable. • Interfaces tightly coupled with point to point connections
  • 11. SOA: Basic Role Application Application Application Service Service Service Interface Interface Interface Interface Interface Interface Application Application Application Service Service Service = Interface Source, IBM education assistant: http://publib.boulder.ibm.com/infocenter/ieduasst
  • 12. Session Outlines  Introduction  SOA concepts and terms.  SOA key principles and basic role.  Middleware  Web services  Palestinian e-Government Architecture  Summary
  • 13. Introduction to Middleware • A layer of software that lies between the application code and the run-time infrastructure [1]. – Connects software components or people and their applications – Provide interoperability in support of the move to coherent distributed architectures – Allows data contained in one database to be accessed through another. – Fits enterprise application integration and data integration software.
  • 14. Middleware-based distributed system General structure of a distributed system as middleware, source [2]
  • 15. Middleware protocols and interfaces 1.23 In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications, source [2]
  • 16. Communication models in Middleware • 3 widely used communication models [2]: 1. RPC: a client calls procedures running on remote systems, can be asynchronous or synchronous. 2. Message Oriented Middleware (MOM) 3. Data streaming: communication in which timing plays a crucial role “Audio and video”. • Generally, there are two ways to communicate: – Enterprise messaging system: message passing in standard formats, using XML, SOAP or web services. – Enterprise Service Bus: some type of integration middleware that supports both MOM and Web services.
  • 17. Session Outlines  Introduction  SOA concepts and terms.  SOA key principles and basic role.  Middleware  Web services  Palestinian e-Government Architecture  Summary
  • 18. What is a web service? • Have an application! • Want to convert your application into a web application? • Web services is the answer! • Web application then, can publish its function to the rest of the world! • Web Services are published, found, and used through the Web • XML is the basis for Web services
  • 19. SOA and Web services • The term Web service describes a standardized way of integrating Web-based applications [4]; – This can be done using the XML, SOAP, WSDL and UDDI open standards over an Internet protocol backbone. – SOAP (Simple Object Access Protocol) – UDDI (Universal Description, Discovery and Integration) – WSDL (Web Services Description Language) • Web service is an implementation of service oriented architecture Service Service Request Service Provider Consumer Software Service Response Software Implementation Web Service
  • 20. SOA and Web services, cont. • SOAP, WSDL and UDDI support the interaction between the WS requester and the WS provider • Provider can publish a WSDL description of its Web service, and the requester accesses the description using a UDDI • Requester can request the execution of the provider's service by sending a SOAP message to it • WS standards add a layer of abstraction which is open to integrate with new and existing environments.
  • 21. Basic Web services architecture Directory Service Description SOAP SOAP WSDL Service Service Request (XML format) Service Provider Consumer Software Service Response (XML format) Software Requests and responses are Based on the specification defined in service description using WSDL Web services architecture consists of specifications, source [4].
  • 22. Web Services Technology • XML: enabling the definition, transmission, validation, and interpretation of data between applications and between organizations. • SOAP: lightweight XML-based (W3C standard) messaging protocol used to encode the information in Web service request and response messages before sending them over the Internet. – SOAP is platform independent – SOAP is language independent – SOAP allows you to get around firewalls
  • 23. Web Services Technology, cont. • WSDL: an XML-based language (W3C standard) – Used to locate and describe a Web service’s capabilities as collections of communication endpoints capable of exchanging messages. • UDDI: a Web-based distributed directory – UDDI enables businesses to list themselves on the Internet and discover each other. – UDDI is a directory for storing information about web services – UDDI is a directory of web service interfaces described by WSDL – UDDI communicates via SOAP
  • 24. Why using Web services? • Reusable application-components – Application-components like language translation, currency conversion, etc... can be reused. – A widely used approach to simplify software reuse is the component- based software engineering. • Connect existing software – Interoperability problem is solved! – Existing applications are developed in different technologies like: ms.net, PHP, Java, etc… – With Web services different applications and different platforms can exchange data (interoperate).
  • 25. Web Service example: • A simple ASP.NET Web Service that converts the temperature from Fahrenheit to Celsius, and vice versa. • Go to the following link: http://www.w3schools.com/webservices/ws_example.asp • To use the Web Service Example, Go to the following link: http://www.w3schools.com/webservices/ws_use.asp • Now we can Implement our first web service example using MS Visual Studio 2010!
  • 26. • Start new web site, • Select from visual C# with .NET Framework 3.5, the template called ASP.NET Web Service. • Put the name you want! (name your service)
  • 27. • Edit the C# code “service.cs”; to add the WebMethod, which will achieve the required function: [WebMethod] public int GetMyAgeInDays(int day, int month, int year){ DateTime dt = new DateTime(year, month, day); int days = DateTime.Now.Subtract(dt).Days; return days; } • Save, build the Web site, and from the solution explorer, right click the “page”.asmx and select as a default page. • Run the website! Press “Crtl + F5” • You will get the output in the next slide!
  • 29. Internet Based Computing Cloud Intelligent web with SOC-Based web 2.0 Dynamic Computing web 2.0 & web 3.0 UDDI, WSDL, SOAP composition WWW Semantic-Based web 3.0 Static URI, HTML, HTTP RDF, RDFS, OWL Syntax Semantics
  • 30. Designing for service-oriented integration, source[4], with minor adjustment
  • 31. Session Outlines  Introduction  SOA concepts and terms.  SOA key principles and basic role.  Middleware  Web services  Palestinian e-Government Architecture  Summary
  • 32. The Palestinian e-Government Architecture • The Palestinian e-Government architecture has been developed in cooperation with the Estonian government [8]. – The architecture connects all ministries together through a government service bus, called “x-road Palestine”. – The service bus, with the other components, represents standard service oriented architecture with an emphasis on the provision of secure services. – Not yet implemented, but there is a general consensus about it among most governmental bodies
  • 33. The Palestinian e-Government Architecture Source, [8]
  • 34. Session Outlines  Introduction  SOA concepts and terms.  SOA key principles and basic role.  Middleware  Web services  Palestinian e-Government Architecture  Summary
  • 35. Summary In this session we have introduced SOA where the concept of service oriented architecture has been explained, then the fundamentals of middleware were discussed. Finally, we have described the most important characteristics of applications (web services) based on SOA.
  • 36. References 1. Extracted from http://en.wikipedia.org/wiki/Middleware 2. Andrew S. Tanenbaum and Maarten van Steen Distributed Systems: Principles and Paradigms, 2nd Edition, Publisher: Pearson Education Inc., Copyrights: 2007 3. E.Newcomer and G.Lomow, Understanding SOA with Web Services, Addison Wesley Professional, ISBN: 0-321-18086-0, 2004. 4. Effective Performance Management for Service-Oriented Applications, WHITE PAPER, Copyright © 2009 Precise Software Solutions, Inc. 5. Extracted from: http://en.wikipedia.org/wiki/Service-oriented_architecture 6. Extracted from IBM education assistant: http://publib.boulder.ibm.com/infocenter/ieduasst, 9/2011. 7. Yuli Vasiliev , SOA and WS-BPEL, Copyright © 2007 Packt Publishing 8. Ministry of Telecommunication and Information Technology: e-Government Program, Palestine X-Road: Palestinian e-Government Architecture. Ramallah, Palestine. January 2011.