0% found this document useful (0 votes)
18 views

AOS Chapter0

The document outlines the semester organization for a Master's course on Service Oriented Architectures. It includes 7 chapters that cover topics such as n-tier architectures, interoperability, web services, REST, cloud computing, and the internet of things. Students will complete technical projects after each chapter to gain hands-on experience developing applications related to the course concepts. The overall objective is to teach techniques for achieving interoperability between heterogeneous and distributed applications.

Uploaded by

wassim.boukahil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

AOS Chapter0

The document outlines the semester organization for a Master's course on Service Oriented Architectures. It includes 7 chapters that cover topics such as n-tier architectures, interoperability, web services, REST, cloud computing, and the internet of things. Students will complete technical projects after each chapter to gain hands-on experience developing applications related to the course concepts. The overall objective is to teach techniques for achieving interoperability between heterogeneous and distributed applications.

Uploaded by

wassim.boukahil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Master 1 DSIS

AOS : Service Oriented


Architectures
Professor Djamel Benmerzoug
Email: [email protected]

TLSI Department
Faculty of NICT
Constantine 2 University – Abdelhamid Mehri

1
Master DSIS: Semester organization

2
Plan

 Chapter 0: Introduction to N- tier architectures


 TP No. 0: Development of an n-Tiers application

 Chapter 1 : Introduction to Interoperability


 Definition
 Challenges of Interoperability
 Typologies of Interoperability
 Types of Interoperability
 Techniques of Interoperability
 TP 1: Create a Chat Interface with OpenAI API in React
3
Plan
 Chapter 2: Foundations of Web Services
 Introduction to Service Oriented Computing (SOC)
 Service Oriented Architecture (SOA)
 General information about Web services
 SOAP
 WSDL
 UDDI
 Implementations
 Java APIs (JAXP, JAX-RPC, JAXM, JAXR, JAXB)
 Implementation with JAX-RPC
 Apache SOAP, Apache Axis
 TP No. 2: Implementing a WS
4
Plan

 Chapter 3: WS oriented development


 WS development lifecycle
 WS development methods
 Chapter 4: Composition of WS
 Compositional approaches
 WS4BPEL: Business Process Execution language for

Web Services
TP No. 3: Creating a SOA Composite application

5
Plan
 Chapter 5: REST Architecture
 Introduction
 Objective of REST
 REST principles
 TP No. 4: Creating a RESTful Web service based
application
 Chapter 6: Cloud Computing
 Cloud services: SaaS , PaaS , IaaS
 Different types: Private, public, hybrid cloud
 TP No. 5: Development of an application prototype
using Cloud service offerings (such as AWS, Google
6
AppEngine , Open Stack , OpenNebula ).
Plan
 Chapter 7: Internet of Things ( IoT )
 Introduction
 System components
 IoT Applications
 TP N 6: Tools and platforms for IoT

7
 Course: Service Oriented Architectures
 Keyword : service- oriented architecture, Interoperability, Web
service

 Objective: Interoperability of applications (heterogeneity +


distribution + autonomy)
 Benefits: Combines the best aspects of component-based
development and the Web.

8
Chapter 0: Introduction to N-
tier

9
Two-tier architecture (2- tier )
 Part of the processing is carried out on the
client workstation and the second on the
server.
 Disadvantages:
 heavy client:
 which supports the vast majority of application
processing
 complexity of maintenance

10
Three-tier architecture (3- tier )
 Presentation layer.
 Application layer.
 Data layer.

11
Three-tier architecture (3- tier )
 tier architecture :
 Presentation layer: user interfaces on a workstation PC,
which are aimed at server applications
 Application layer : server applications that contain
management logic and access data stored in databases
 Data layer : database servers

 Advantages of N- tier architectures :


 The link between the levels is defined and limited to
interfaces
 The interfaces ensure the modularity and technological and
topological independence of each level

12
Three-tier architecture (3- tier )
 tier architectures :
 This separation by layers of responsibilities
serves to decouple one layer from the other as much
as possible in order to avoid the impact of future
developments in the application.
 For example: if we have to change the relational
database, only the data access layer will be
impacted, the service layer and the presentation
layer will not be affected because they will have
been decoupled from the others.

13
Three-tier architecture (3- tier )
Some client-side technologies:

14
Three-tier architecture (3- tier )
The different server-side technologies:

JSP (Java Server Pages from Sun)


Like most of its competitors, it allows you to integrate scripts,
here in the form of Java code, into HTML pages. When a JSP
page is called for the first time, it is compiled and transformed
into a servlet (server-side program). This servlet is executed and
produces content in html format.
Java / JEE (Java 2 Enterprise Edition, Sun)
The main advantage of Java is that it is independent of the
operating system (interpreted by a virtual machine). Java also
offers the particularity of being able to be executed on the client
side (applets) or on the server side ( servlets ). It requires good
technical knowledge and object concepts .
15
Three-tier architecture (3- tier )
The different server-side technologies:

ASP (Microsoft Active Server Pages)


This technology is based on server-side scripts, written in
Vbscript or Javascript . These scripts are executed by the server
and their result is produced in the form of standard html pages.
One of the advantages of ASP is its ease of implementation .
Widely used, this technology however has the disadvantage of
being closely linked to the Windows Server environment and the
IIS server.
C# / .Net (Microsoft)
This technology resembles Java/ JEE technology in many ways .
However, it still has many weaknesses in terms of server
portability, multi-platforms , scalability , etc.
16
Three-tier architecture (3- tier )
The different server-side technologies:

PHP ( Hypertext PreProcessor )


PHP is enjoying ever-increasing success on the Web
and is positioning itself as an important rival to ASP
and JSP.
The Linux environment is its preferred platform.
Combined with the Apache web server and the MySQL
database, PHP offers a particularly robust, stable and
efficient solution, also offering the advantage of being
free , all this software coming from the world of free
software (Open Source).

17
APPLICATION SERVERS 1/3

Main functionalities of a web server:

Receive request
Re-route dynamic requests
Find static pages
Encapsulate pages in response
Issue response

18
APPLICATION SERVERS 2/3

Main functionalities of an application server:

Receive request
Constructing the dynamic response
Send response back to web server

19
APPLICATION SERVERS 3/3

 The architecture implemented within


the framework of the TP :
 and/or Windows operating system

 GlassFish or Tomcat

 JEE

20
REMINDER ON JEE 1/4

 JEE is based on object concepts:


 Class : object type characterized by its data structure (attributes) and
behavior (methods).
 Object : class instance.
 Inheritance : Mechanism allowing a class of objects to benefit from the
data structure and behavior of a "parent" class, while allowing it to refine
them in order to take into account the specificities of the "daughter" class ",
without however having to redefine what the two classes have in common.
 Abstraction : Mechanism allowing the dissociation between the declaration
of a class and its implementation .
 Polymorphism : Mechanism allowing a behavior to be associated with a
different implementation depending on the object to which one refers .
 Encapsulation : Mechanism for hiding details of the internal workings of a
class from other classes.
21
REMINDER ON JEE 2/4

 JEE is based on the Java language:

 Java is an object-oriented language whose syntax is derived from C and


whose design results from experience with various languages ( Smalltalk ,
Ada, C++, etc.)
 Java is a semi-compiled language. The code obtained after compilation is
called byte -code and this code can be interpreted by a JVM (Java Virtual
Machine) .
 However, Java can also be completely compiled (transformed into
machine language) if necessary.
 Java is portable across all platforms since there are virtual machines for
each. (Browsers integrate Java virtual machines).
 Java is a language originally designed to be used over a network.

22
REMINDER ON JEE 3/4

 JEE is based on the Java language (continued):

 Java is a language integrating different security mechanisms (it allows you to


define security strategies allowing for example to prohibit access to local resources of
the machine).
 Java includes an automatic garbage collector, making coding easier and reducing
the risk of poor memory management.
 Java is a multi-threaded language (it allows the parallel management of several
processes).
 Development products:
 IBM RAD
 Borland Jbuilder
 Oracle JDeveloper
 NetBeans (Sun)
 Eclipse
 BEA Workshop
23
REMINDER ON JEE 4/4

 In summary :
 Java 2 Enterprise Edition is the definition of a set of standards
relating to technical services developed in Java whose objective is to
provide a software architecture allowing the deployment of critical
transactional applications.
 It is today a market standard because it offers:
 simplification of architecture, development and maintenance
 transactional and scalability support
 seamless integration with existing IS
 independence in the choice of servers, tools and components – new
JEE

24
JEE APPLICATIONS 1/6

 Web application development relies on three main JEE


components:

 Servlets : these are Java programs executed on a


server (via its JVM) . They allow you to extend server
behavior dynamically.
 JSPs : these are HTML pages including JAVA code
(stored inside tags).
 EJBs : these are processing entities running in a
suitable environment (container) and having
configuration and installation mechanisms.

25
JEE APPLICATIONS 2/6

 Mechanism of a JEE web application :


3 - The servlet checks
the validity of the HTTP
request.
4 - It instantiates data
beans to access data.
6 - It invokes the JSP
to generate the HTML
page which contains the
result of the request .

26
JEE APPLICATIONS 3/6

 Architecture of a JEE application :


3 layers:

The components.

The modules
bringing together
the components

Applications
bringing together
modules
 Modules and applications physically correspond to archive files:
EJB JAR archive (.jar) for an EJB module, WAR archive for a web
module, EAR archive for an application.
27
JEE APPLICATIONS 4/6

 Web module (. war ). According to the JEE specification , a web


application should have the following structure:
 a public root directory containing HTML pages, JSP pages, images...
 a repertoire WEB-INF located in the root directory of the web
application.
 a web.xml file located at the root of WEB-INF : this is the deployment
descriptor of the web application.
 WEB-INF/classes directory containing the compiled classes of the
application ( servlets , auxiliary classes, etc.).
 a WEB-INF/lib directory containing the application's JAR files (JDBC
drivers, packaged frameworks , etc.).
Everything can be packaged in an archive in the form of a WAR file (created
with the JDK jar utility).

28
JEE APPLICATIONS 5/6

 EJB module (.jar). According to the JEE 1.2


specification , a JAR file must have the following structure:
a META-INF/ directory containing an XML deployment
descriptor of the EJB module, named ejb-jar.xml
the .class files corresponding to the local (home interface) and
remote ( remote interface) interfaces, the implementation
class, and the auxiliary classes (exception classes for example)
of the EJBs , located in their package.

29
JEE APPLICATIONS 6/6

 Enterprise application (. ear ). According


to JEE specifications , an enterprise application should have
the following structure:
META-INF/ directory containing the XML deployment descriptor of
the JEE application named application.xml. It is in this descriptor that
we define the web and EJB modules which constitute the enterprise
application. For example, it is specified on which root of the web
server (placed front-end in front of the application server) the web
application should reside.
the .JAR and .WAR archive files corresponding to the EJB modules
and web modules of the enterprise application.
Everything can be packaged in an archive in the form of an EAR file.

30

You might also like