SlideShare uma empresa Scribd logo
1 de 40
Service Oriented Architectureand Web services Mohammed LuqmanShareef
Popular Distributed Application Frameworks/Technologies 2010-02-08 2 COM, DCOM Microsoft specific EJB, RMI	Java Specific CORBA  	Platform and Language Independent
What is SOA? 2010-02-08 3 ,[object Object],A software system is divided into highly flexible and re-usable components called services.  SOA is just an architecture blue print  It is NOT a technical standard It is NOT a technology
What is Service ? 2010-02-08 4 Self-contained module that perform a predetermined task Software component that have published contracts/interfaces Black-box to the consumers Platform-Independent Interoperable
Why SOA? 2010-02-08 5 End Customer Portal Operator Portal Partner Portal Customer Info Management Order Management Credit Management Sales Management Billing Lets take a telecom enterprise system Invoicing Provisioning Network Management Inventory Service Catalog Customer Profiles
Why SOA? 2010-02-08 6 End Customer Portal Operator Portal Partner Portal Services Credit Management Sales Management Customer Info Management Order Management Provisioning Invoicing Inventory Network Management Customer Profiles Billing Service Catalog
SOA: Architectural Principles 2010-02-08 7 Loose coupling Minimize dependencies. Service contract Services adhere to a communications agreement. Service abstraction  Hide the service execution logic from the outside world. Service reusability Logic is divided into services for reuse.
SOA: Architectural Principles 2010-02-08 8 Service composability Services can be assembled to form composite service. Service autonomy Services have control over the logic they encapsulate. Service discoverability Services can be found and assessed via available discovery mechanisms. Service relevance 		Service presented at a granularity recognized by user a meaningful service.
SOA Implementation 2010-02-08 9 	While SOA can be implemented using any service based technology such as CORBA, the SOAP based web services standard implementation has gained wide industry acceptance, because these standards provide greater interoperability. 	Key differences between CORBA and web service are
Realizing SOA with Web Services 2010-02-08 10 W WW
What is web service ? 2010-02-08 11 Web service is a standard way of integrating Web-based applications using the XML, SOAP, WSDL and UDDI open standards over an Internet protocol backbone.  	XML is used to tag the data,  	SOAP is used to transfer the data,  	WSDL is used for describing the services available and  	UDDI is used for listing what services are available.  	Web services are loosely coupled computing services that can reduce the complexity of building business applications, save costs, and enable new business models. Services running on an arbitrary machine can be accessed in a platform- and language-independent fashion.
How to buy tomatoes ? 2010-02-08 12 Lookup for the tomato sellers Yellow Pages: contain companies that are selling tomatoes, their location, and contact information.  ,[object Object],Where, when and how can I buy tomatoes?  ,[object Object],[object Object]
Components of a web service 2010-02-08 14 XML (eXtensible Markup Language) A uniform data representation and exchange mechanism SOAP (Simple Object Access Protocol) Lightweight (XML-based) protocol for exchange  	of information in a decentralized, distributed environment WSDL (Web Service Description Language) XML format that describes the web service UDDI (Universal Description Discovery and Integration) Like yellow pages of Web services
3 roles of service 2010-02-08 15
Service Vs. Consumer 2010-02-08 16 Policy Adheres to governed by End Point Binds to Exposes Serves Service  Consumer Service Contracts implements Understands describes Messages Sends/Receives Sends/Receives
Steps to develop a web serviceusing JAX-WS 2010-02-08 17 Define the service implementation and compile it. 	S>javac -d . HelloImpl.java Use wsgen to generate the artifacts required to deploy the service. 	S>wsgen -wsdlserver.HelloImpl 3.   Package the files into a WAR file and deploy it . package server; import javax.jws.WebService; @WebService public class HelloImpl {   /**    * @param name    * @return Say hello to the person.    */    public String sayHello(String name) {      return "Hello, " + name + "!";    } }
HelloImplService.wsdl 2010-02-08 18
HelloImplService.wsdl contd… 2010-02-08 19
HelloImplService_schema1.xsd 2010-02-08 20
Steps to develop a web service contd… 2010-02-08 21 package myClient; import helloservice.endpoint.HelloService; import helloservice.endpoint.Hello; public class HelloClient {     public static void main(String[] args) {         try { HelloService service = new HelloService();             Hello port = service.getHelloPort();             String response = port.sayHello(“Luqman"); System.out.println(response);         } catch (Exception e) { e.printStackTrace();         }     } } Implement Client Code 5.  Use wsimport to generate and compile the web service artifacts needed to connect to the service. 	S>wsimport HelloImplService.wsdl 	parsing WSDL... 	generating code... 	compiling code... 6.  Run the client.
WSDL 2010-02-08 22 WSDL elements WSDL is a contract between service provider and the consumer A WSDL document describes What the service can do Where it resides How to invoke it Types Message Operation Port Type WSDL Binding Port Service
WSDL elements 2010-02-08 23 Types 	Data type definition used in exchanging messages Message 	Describes the logical content of data being communicated Operation 	An Abstract description of an action supported by the service Port Type 	A set of operations and messages involved with the service Binding 	A concrete protocol and data format specification for a port type Port 	A single end point defined as a combination of a binding and a network address Service 	Identifies which ports to group together
SOAP 2010-02-08 24 SOAP Envelope SOAP Header Header Block SOAP Body Message Body Fault Handlers SOAP message structure SOAP is a lightweight (XML-based) protocol for exchange of information in a decentralized, distributed environment.  SOAP is a format for sending messages SOAP is independent of transport protocol A SOAP message is an ordinary XML document containing the following elements: Envelope  - identifies the XML document as a SOAP message Header  - contains application specific info like authentication etc. Body  - contains the message in request and response Fault  - contains errors and status information
SOAP Example <?xml version="1.0"?><soap:Envelopexmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"><soap:Bodyxmlns:m="http://www.example.org/Hello">  <m:sayHello>    <m:name>Luqman</m:name>  </m:sayHello></soap:Body></soap:Envelope>  2010-02-08 25 Request Response <?xml version="1.0"?><soap:Envelopexmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"><soap:Bodyxmlns:m="http://www.example.org/stock">  <m:sayHelloResponse>    <m:return>Hello Luqman</m:return>  </m:sayHelloResponse></soap:Body></soap:Envelope>
SOAP Fault 2010-02-08 26 SOAP errors are handled using a specialised envelope known as a Fault Envelope A SOAP Fault is a special element which must appear as an immediate child of the body element <faultcode> and <faultstring> are required.
UDDI 2010-02-08 27 3 levels of information in UDDI UDDI is a set of specifications that is used to publish information for describing and discovering web services, finding businesses, building registries.  UDDI is a directory for storing information about web services. UDDI communicates via SOAP. White Pages To query companies with their names and attributes Yellow Pages To query businesses with their categories Green Pages Contains technical info on how to interact with the services
UDDI Structure 2010-02-08 28
Registry APIs (SOAP Messages) 2010-02-08 29 ,[object Object]
Save things
save_business
save_service
save_binding
save_tModel
Delete things
delete_business
delete_service
delete_binding
delete_tModel
security…
get_authToken

Mais conteúdo relacionado

Mais procurados

SOA Service Oriented Architecture
SOA Service Oriented ArchitectureSOA Service Oriented Architecture
SOA Service Oriented ArchitectureVinay Rajadhyaksha
 
SOA Fundamentals
SOA  FundamentalsSOA  Fundamentals
SOA Fundamentalsabhi1112
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureSandeep Ganji
 
Unit 2 -Cloud Computing Architecture
Unit 2 -Cloud Computing ArchitectureUnit 2 -Cloud Computing Architecture
Unit 2 -Cloud Computing ArchitectureMonishaNehkal
 
Service Oriented Architecture
Service Oriented Architecture Service Oriented Architecture
Service Oriented Architecture Prabhat gangwar
 
Cloud computing architecture
Cloud computing architectureCloud computing architecture
Cloud computing architecturemeenalkakkar
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture PatternsAssaf Gannon
 
Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)Martin Necasky
 
What is private cloud Explained
What is private cloud ExplainedWhat is private cloud Explained
What is private cloud Explainedjeetendra mandal
 
An Overview of Web Services: SOAP and REST
An Overview of Web Services: SOAP and REST An Overview of Web Services: SOAP and REST
An Overview of Web Services: SOAP and REST Ram Awadh Prasad, PMP
 
Service Oriented Architecture & Beyond
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & BeyondImesh Gunaratne
 
Cloud interoperability
Cloud interoperabilityCloud interoperability
Cloud interoperabilitygaurav jain
 

Mais procurados (20)

SOA Service Oriented Architecture
SOA Service Oriented ArchitectureSOA Service Oriented Architecture
SOA Service Oriented Architecture
 
SOA Fundamentals
SOA  FundamentalsSOA  Fundamentals
SOA Fundamentals
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Unit 2 -Cloud Computing Architecture
Unit 2 -Cloud Computing ArchitectureUnit 2 -Cloud Computing Architecture
Unit 2 -Cloud Computing Architecture
 
SOA Unit I
SOA Unit ISOA Unit I
SOA Unit I
 
Service Oriented Architecture
Service Oriented Architecture Service Oriented Architecture
Service Oriented Architecture
 
Cloud computing architecture
Cloud computing architectureCloud computing architecture
Cloud computing architecture
 
Cloud computing lecture 1
Cloud computing lecture 1Cloud computing lecture 1
Cloud computing lecture 1
 
Layered Software Architecture
Layered Software ArchitectureLayered Software Architecture
Layered Software Architecture
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture Patterns
 
SOA Principles : 4.service loose coupling
SOA Principles : 4.service loose couplingSOA Principles : 4.service loose coupling
SOA Principles : 4.service loose coupling
 
Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)
 
AWS 101
AWS 101AWS 101
AWS 101
 
cloud computing
cloud computingcloud computing
cloud computing
 
What is private cloud Explained
What is private cloud ExplainedWhat is private cloud Explained
What is private cloud Explained
 
An Overview of Web Services: SOAP and REST
An Overview of Web Services: SOAP and REST An Overview of Web Services: SOAP and REST
An Overview of Web Services: SOAP and REST
 
Service Oriented Architecture & Beyond
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & Beyond
 
Microsoft azure
Microsoft azureMicrosoft azure
Microsoft azure
 
Cloud interoperability
Cloud interoperabilityCloud interoperability
Cloud interoperability
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 

Destaque

technology
technologytechnology
technologyfarcrys
 
How Fingerprint Scanners Work
How Fingerprint Scanners WorkHow Fingerprint Scanners Work
How Fingerprint Scanners Workguest511afe
 
Ilyan En New
Ilyan En NewIlyan En New
Ilyan En Newilyancom
 
祝莹会跳绳小企鹅拆卸
祝莹会跳绳小企鹅拆卸祝莹会跳绳小企鹅拆卸
祝莹会跳绳小企鹅拆卸zust
 
Preview guide st852ifr1
Preview guide st852ifr1Preview guide st852ifr1
Preview guide st852ifr1lhghom
 
Black simpler web accessibility for blinds
Black  simpler web accessibility for blindsBlack  simpler web accessibility for blinds
Black simpler web accessibility for blindsJubanashwa Mishra
 
Review Of Harvard Learning Experience
Review Of Harvard Learning ExperienceReview Of Harvard Learning Experience
Review Of Harvard Learning Experiencedhighley
 
Comunicare col web2.0 (Vesuviocamp 2010
Comunicare col web2.0  (Vesuviocamp 2010Comunicare col web2.0  (Vesuviocamp 2010
Comunicare col web2.0 (Vesuviocamp 2010Luca Spoldi
 
Jean Lewis Idat101
Jean Lewis Idat101Jean Lewis Idat101
Jean Lewis Idat101jean lewis
 
Fotos Tomadas En El Tiempo Exacto
Fotos Tomadas En El Tiempo ExactoFotos Tomadas En El Tiempo Exacto
Fotos Tomadas En El Tiempo Exactoparrochito
 
When Sensible Sanitation is Waterless Sanitation: Real-World Ideas
When Sensible Sanitation is Waterless Sanitation: Real-World IdeasWhen Sensible Sanitation is Waterless Sanitation: Real-World Ideas
When Sensible Sanitation is Waterless Sanitation: Real-World IdeasAbigail Brown
 
Panelinstrph
PanelinstrphPanelinstrph
Panelinstrphskatelal
 

Destaque (20)

technology
technologytechnology
technology
 
How Fingerprint Scanners Work
How Fingerprint Scanners WorkHow Fingerprint Scanners Work
How Fingerprint Scanners Work
 
Ilyan En New
Ilyan En NewIlyan En New
Ilyan En New
 
祝莹会跳绳小企鹅拆卸
祝莹会跳绳小企鹅拆卸祝莹会跳绳小企鹅拆卸
祝莹会跳绳小企鹅拆卸
 
Art History
Art HistoryArt History
Art History
 
Preview guide st852ifr1
Preview guide st852ifr1Preview guide st852ifr1
Preview guide st852ifr1
 
CQ Associates v8
CQ Associates v8CQ Associates v8
CQ Associates v8
 
Black simpler web accessibility for blinds
Black  simpler web accessibility for blindsBlack  simpler web accessibility for blinds
Black simpler web accessibility for blinds
 
Elvis Persely Disc80s
Elvis Persely Disc80sElvis Persely Disc80s
Elvis Persely Disc80s
 
Review Of Harvard Learning Experience
Review Of Harvard Learning ExperienceReview Of Harvard Learning Experience
Review Of Harvard Learning Experience
 
Comunicare col web2.0 (Vesuviocamp 2010
Comunicare col web2.0  (Vesuviocamp 2010Comunicare col web2.0  (Vesuviocamp 2010
Comunicare col web2.0 (Vesuviocamp 2010
 
Jean Lewis Idat101
Jean Lewis Idat101Jean Lewis Idat101
Jean Lewis Idat101
 
Fotos Tomadas En El Tiempo Exacto
Fotos Tomadas En El Tiempo ExactoFotos Tomadas En El Tiempo Exacto
Fotos Tomadas En El Tiempo Exacto
 
Sylvia Maisano
Sylvia MaisanoSylvia Maisano
Sylvia Maisano
 
When Sensible Sanitation is Waterless Sanitation: Real-World Ideas
When Sensible Sanitation is Waterless Sanitation: Real-World IdeasWhen Sensible Sanitation is Waterless Sanitation: Real-World Ideas
When Sensible Sanitation is Waterless Sanitation: Real-World Ideas
 
Ep Alternate Masters
Ep Alternate MastersEp Alternate Masters
Ep Alternate Masters
 
Ep The Box Sets
Ep The Box SetsEp The Box Sets
Ep The Box Sets
 
IBM Social Apps
IBM Social AppsIBM Social Apps
IBM Social Apps
 
Panelinstrph
PanelinstrphPanelinstrph
Panelinstrph
 
Going global
Going globalGoing global
Going global
 

Semelhante a Service Oriented Architecture

Service Oriented Architecture Updated Luqman
Service Oriented Architecture Updated  LuqmanService Oriented Architecture Updated  Luqman
Service Oriented Architecture Updated Luqmanguesteb791b
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web servicesNeil Ghosh
 
Web services soap and rest by mandakini for TechGig
Web services soap and rest by mandakini for TechGigWeb services soap and rest by mandakini for TechGig
Web services soap and rest by mandakini for TechGigMandakini Kumari
 
WebService-Java
WebService-JavaWebService-Java
WebService-Javahalwal
 
Service Oriented Architecture Luqman
Service Oriented Architecture LuqmanService Oriented Architecture Luqman
Service Oriented Architecture LuqmanLuqman Shareef
 
Web services concepts, protocols and development
Web services concepts, protocols and developmentWeb services concepts, protocols and development
Web services concepts, protocols and developmentishmecse13
 
Web services and SOA
Web services and SOAWeb services and SOA
Web services and SOASubin Sugunan
 
Web services for developer
Web services for developerWeb services for developer
Web services for developerRafiq Ahmed
 
Cloud computing 20 service modelling
Cloud computing 20 service modellingCloud computing 20 service modelling
Cloud computing 20 service modellingVaibhav Khanna
 
Understanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaUnderstanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaJignesh Aakoliya
 
Day1 : web service basics
Day1 :  web service basics Day1 :  web service basics
Day1 : web service basics Testing World
 
Cloud computing 22 soap and uddi in services
Cloud computing 22 soap and uddi in servicesCloud computing 22 soap and uddi in services
Cloud computing 22 soap and uddi in servicesVaibhav Khanna
 
Web Services
Web ServicesWeb Services
Web Serviceschidi
 

Semelhante a Service Oriented Architecture (20)

Service Oriented Architecture Updated Luqman
Service Oriented Architecture Updated  LuqmanService Oriented Architecture Updated  Luqman
Service Oriented Architecture Updated Luqman
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
Web services soap and rest by mandakini for TechGig
Web services soap and rest by mandakini for TechGigWeb services soap and rest by mandakini for TechGig
Web services soap and rest by mandakini for TechGig
 
WebService-Java
WebService-JavaWebService-Java
WebService-Java
 
SOA and web services
SOA and web servicesSOA and web services
SOA and web services
 
SOA web services concepts
SOA web services conceptsSOA web services concepts
SOA web services concepts
 
Web services
Web servicesWeb services
Web services
 
Service Oriented Architecture Luqman
Service Oriented Architecture LuqmanService Oriented Architecture Luqman
Service Oriented Architecture Luqman
 
Web services concepts, protocols and development
Web services concepts, protocols and developmentWeb services concepts, protocols and development
Web services concepts, protocols and development
 
Web services and SOA
Web services and SOAWeb services and SOA
Web services and SOA
 
Web services for developer
Web services for developerWeb services for developer
Web services for developer
 
Web services
Web servicesWeb services
Web services
 
Cloud computing 20 service modelling
Cloud computing 20 service modellingCloud computing 20 service modelling
Cloud computing 20 service modelling
 
Understanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaUnderstanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company india
 
Day1 : web service basics
Day1 :  web service basics Day1 :  web service basics
Day1 : web service basics
 
Web services
Web servicesWeb services
Web services
 
Web services - REST and SOAP
Web services - REST and SOAPWeb services - REST and SOAP
Web services - REST and SOAP
 
Overview of web services
Overview of web servicesOverview of web services
Overview of web services
 
Cloud computing 22 soap and uddi in services
Cloud computing 22 soap and uddi in servicesCloud computing 22 soap and uddi in services
Cloud computing 22 soap and uddi in services
 
Web Services
Web ServicesWeb Services
Web Services
 

Mais de Luqman Shareef

Mais de Luqman Shareef (9)

Containers virtaulization and docker
Containers virtaulization and dockerContainers virtaulization and docker
Containers virtaulization and docker
 
Restful webservices
Restful webservicesRestful webservices
Restful webservices
 
Scrum luqman
Scrum luqmanScrum luqman
Scrum luqman
 
Cloud computing by Luqman
Cloud computing by LuqmanCloud computing by Luqman
Cloud computing by Luqman
 
Tech Days 2010
Tech  Days 2010Tech  Days 2010
Tech Days 2010
 
Ajax
AjaxAjax
Ajax
 
Xml by Luqman
Xml by LuqmanXml by Luqman
Xml by Luqman
 
Web Service Security
Web Service SecurityWeb Service Security
Web Service Security
 
J2SE 5
J2SE 5J2SE 5
J2SE 5
 

Último

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 

Último (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Service Oriented Architecture

  • 1. Service Oriented Architectureand Web services Mohammed LuqmanShareef
  • 2. Popular Distributed Application Frameworks/Technologies 2010-02-08 2 COM, DCOM Microsoft specific EJB, RMI Java Specific CORBA Platform and Language Independent
  • 3.
  • 4. What is Service ? 2010-02-08 4 Self-contained module that perform a predetermined task Software component that have published contracts/interfaces Black-box to the consumers Platform-Independent Interoperable
  • 5. Why SOA? 2010-02-08 5 End Customer Portal Operator Portal Partner Portal Customer Info Management Order Management Credit Management Sales Management Billing Lets take a telecom enterprise system Invoicing Provisioning Network Management Inventory Service Catalog Customer Profiles
  • 6. Why SOA? 2010-02-08 6 End Customer Portal Operator Portal Partner Portal Services Credit Management Sales Management Customer Info Management Order Management Provisioning Invoicing Inventory Network Management Customer Profiles Billing Service Catalog
  • 7. SOA: Architectural Principles 2010-02-08 7 Loose coupling Minimize dependencies. Service contract Services adhere to a communications agreement. Service abstraction Hide the service execution logic from the outside world. Service reusability Logic is divided into services for reuse.
  • 8. SOA: Architectural Principles 2010-02-08 8 Service composability Services can be assembled to form composite service. Service autonomy Services have control over the logic they encapsulate. Service discoverability Services can be found and assessed via available discovery mechanisms. Service relevance Service presented at a granularity recognized by user a meaningful service.
  • 9. SOA Implementation 2010-02-08 9 While SOA can be implemented using any service based technology such as CORBA, the SOAP based web services standard implementation has gained wide industry acceptance, because these standards provide greater interoperability. Key differences between CORBA and web service are
  • 10. Realizing SOA with Web Services 2010-02-08 10 W WW
  • 11. What is web service ? 2010-02-08 11 Web service is a standard way of integrating Web-based applications using the XML, SOAP, WSDL and UDDI open standards over an Internet protocol backbone. XML is used to tag the data, SOAP is used to transfer the data, WSDL is used for describing the services available and UDDI is used for listing what services are available. Web services are loosely coupled computing services that can reduce the complexity of building business applications, save costs, and enable new business models. Services running on an arbitrary machine can be accessed in a platform- and language-independent fashion.
  • 12.
  • 13. Components of a web service 2010-02-08 14 XML (eXtensible Markup Language) A uniform data representation and exchange mechanism SOAP (Simple Object Access Protocol) Lightweight (XML-based) protocol for exchange of information in a decentralized, distributed environment WSDL (Web Service Description Language) XML format that describes the web service UDDI (Universal Description Discovery and Integration) Like yellow pages of Web services
  • 14. 3 roles of service 2010-02-08 15
  • 15. Service Vs. Consumer 2010-02-08 16 Policy Adheres to governed by End Point Binds to Exposes Serves Service Consumer Service Contracts implements Understands describes Messages Sends/Receives Sends/Receives
  • 16. Steps to develop a web serviceusing JAX-WS 2010-02-08 17 Define the service implementation and compile it. S>javac -d . HelloImpl.java Use wsgen to generate the artifacts required to deploy the service. S>wsgen -wsdlserver.HelloImpl 3. Package the files into a WAR file and deploy it . package server; import javax.jws.WebService; @WebService public class HelloImpl { /** * @param name * @return Say hello to the person. */ public String sayHello(String name) { return "Hello, " + name + "!"; } }
  • 20. Steps to develop a web service contd… 2010-02-08 21 package myClient; import helloservice.endpoint.HelloService; import helloservice.endpoint.Hello; public class HelloClient { public static void main(String[] args) { try { HelloService service = new HelloService(); Hello port = service.getHelloPort(); String response = port.sayHello(“Luqman"); System.out.println(response); } catch (Exception e) { e.printStackTrace(); } } } Implement Client Code 5. Use wsimport to generate and compile the web service artifacts needed to connect to the service. S>wsimport HelloImplService.wsdl parsing WSDL... generating code... compiling code... 6. Run the client.
  • 21. WSDL 2010-02-08 22 WSDL elements WSDL is a contract between service provider and the consumer A WSDL document describes What the service can do Where it resides How to invoke it Types Message Operation Port Type WSDL Binding Port Service
  • 22. WSDL elements 2010-02-08 23 Types Data type definition used in exchanging messages Message Describes the logical content of data being communicated Operation An Abstract description of an action supported by the service Port Type A set of operations and messages involved with the service Binding A concrete protocol and data format specification for a port type Port A single end point defined as a combination of a binding and a network address Service Identifies which ports to group together
  • 23. SOAP 2010-02-08 24 SOAP Envelope SOAP Header Header Block SOAP Body Message Body Fault Handlers SOAP message structure SOAP is a lightweight (XML-based) protocol for exchange of information in a decentralized, distributed environment. SOAP is a format for sending messages SOAP is independent of transport protocol A SOAP message is an ordinary XML document containing the following elements: Envelope - identifies the XML document as a SOAP message Header - contains application specific info like authentication etc. Body - contains the message in request and response Fault - contains errors and status information
  • 24. SOAP Example <?xml version="1.0"?><soap:Envelopexmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"><soap:Bodyxmlns:m="http://www.example.org/Hello">  <m:sayHello>    <m:name>Luqman</m:name>  </m:sayHello></soap:Body></soap:Envelope> 2010-02-08 25 Request Response <?xml version="1.0"?><soap:Envelopexmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"><soap:Bodyxmlns:m="http://www.example.org/stock">  <m:sayHelloResponse>    <m:return>Hello Luqman</m:return>  </m:sayHelloResponse></soap:Body></soap:Envelope>
  • 25. SOAP Fault 2010-02-08 26 SOAP errors are handled using a specialised envelope known as a Fault Envelope A SOAP Fault is a special element which must appear as an immediate child of the body element <faultcode> and <faultstring> are required.
  • 26. UDDI 2010-02-08 27 3 levels of information in UDDI UDDI is a set of specifications that is used to publish information for describing and discovering web services, finding businesses, building registries. UDDI is a directory for storing information about web services. UDDI communicates via SOAP. White Pages To query companies with their names and attributes Yellow Pages To query businesses with their categories Green Pages Contains technical info on how to interact with the services
  • 28.
  • 52.
  • 53. RESTful web services 2010-02-08 31 REpresentationalState Transfer Each unique URL is a representation of some object Ex : http://www.mycompany.com/india/hyd/employees http://www. mycompany.com/india/hyd/employees/1234 HTTP GET Method operates on the resource. Object state is transferred and stored at client. Representation of the resource state in XML, JSON etc.
  • 54.
  • 55.
  • 56.
  • 59.
  • 60. Developing a RESTful web service using JAX-WS 2010-02-08 34 package com.sun.jersey.samples.helloworld.resources; import javax.ws.rs.GET; import javax.ws.rs.Produces; import javax.ws.rs.Path; @Path("/employees/{empid}") public class Employee{ @GET @Produces("text/xml") public String getEmployee(@PathParam(“empid") String empId) { ... … } }
  • 61. Securing web services SSL is not enough SSL provides point to point security WS needs end to end security SSL provides security at transport level WS needs security at message level SSL doesn’t support non-repudiation Non-repudiation is critical for business WS Web service security requirements Authentication ( Identity check ) Authorization ( Access Control ) Confidentiality ( Encryption ) Integrity ( Signature Support ) Non-repudiation ( Ability to prove that a particular transaction is performed) Accessibility ( Ensuring that the service is not impacted by attacks) 2010-02-08 35
  • 62. Web service security standards 2010-02-08 36 XML digital signature ( IETF and W3C) XML Encryption ( W3C) SAML (Secure Assertion Markup Language) ( OASIS) WS-Security (Web Services Security) (OASIS) WS-SecureConversation WS-Federation WS-Policy WS-Trust WS-Privacy XACML (Extensible Access Control Markup Language) (OASIS) ebXML Message Service (OASIS)
  • 63. The way forward 2010-02-08 37 SOAD SOSE ED SOA ESB SoaML BPEL SOA-Tel SOA Reference Architecture
  • 64. For more information 2010-02-08 38 SOAP - http://www.w3c.org/TR/soap WSDL - http://www.w3c.org/TR/wsdl UDDI - http://www.uddi.xml.org SAML - http://saml.xml.org ebXML - http://www.ebxml.org CORBA Vs. Web services - http://www2002.og/CDROM/alternate/395 SoaML - http://www.omg.org/spec/SoaML BPEL - www.oasis-open.org/committees/wsbpel

Notas do Editor

  1. OASIS formed a committee to identify gaps in standards coverage for using SOA techniques in a telecom environment called SOA-Tel