SlideShare a Scribd company logo
By :
Pankaj gola
(2k11/se/047)
Vikas sharma
(2k11/se/085)
Ravi kumar
(2k11/se/057)
Akhilesh
(2k10/se/008)
SOFTWARE
COMPONENT MODEL
-CORBA MODEL-
Component-based software engineering
(CBSE) (also known as component-based
development (CBD)) is a branch of software
engineering that emphasizes the separation
of concerns in respect of the wide-ranging
functionality available throughout a given
software system.
COMPONENT BASED SOFTWARE
ENGINEERING(CBSE)
 “A software component is a unit of composition with
contractually specified interfaces and explicit context
dependencies only. A software component can be deployed
independently and is subject to composition by third
parties.”
 Unit of composition – combine components to build
systems
 Binary units – black boxes, not source code
 Contractually specified interfaces – mechanism for
interface definition, such as Interface Definition
Language
 Independent production – separation of concerns
 Deployed and composed by third parties – reusable units
assembled like parts supplied by manufacturers
-1996 European Conference on Object-Oriented
Programming
SOFTWARE COMPONENTS
 Consider two ends of a spectrum:
ď‚§ Comm. off the shelf < --- > Custom-made
ď‚§ What advantages of COTS software could components offer to
custom-made?
 Advantages:
ď‚§ Cost efficiency & flexibility
ď‚§ Reuse, productivity
ď‚§ Scalability
ď‚§ Application of engineering techniques
WHY A COMPONENT BASED
APPROACH?
CBSE
models
EJB model
Com+
model
CORBA
model
SOFTWARE COMPONENT MODELS
HISTORY
 Common Object Request Broker Architecture
ď‚§ Created by Object Management Group (consortium of 700+
companies)
ď‚§ Defines how distributed, heterogeneous objects can interoperate
 Location Transparency
ď‚§ Client has no idea where object resides, where it is local or remote
 Objects
ď‚§ Gives object-oriented benefits at a higher level
 E.g. encapsulation – must access through IDL, polymorphism,
inheritance of interfaces, exception handling
 Portable
ď‚§ across platforms, languages, networks
 Standard
CORBA MODEL
 Interface Definition Language (IDL)
ď‚§ Similar to interfaces in Java or C++ abstract classes
ď‚§ Defines protocol to be used between devices
 Allows “wrappers” for legacy systems
 Application Programming Interface (API)
ď‚§ Ensures consistency for clients and CORBA objects (in theory)
 Object Request Broker (ORB)
ď‚§ Middleware establishing client/server relationship
ď‚§ Allows transparent invocation of methods
ď‚§ Intercepts calls, and deals with them
ď‚§ Find an object that can implement the request, pass it the parameters,
invoke its method, and return the results
ď‚§ Client remains ignorant of how calls are dealt with
CORBA ARCHITECTURE
CORBA ARCHITECTURE
 interface Stock {
 double price ();
 readonly attribute string symbol;
 readonly attribute string full_name;
 };
 interface Stock_Factory {
 Stock get_stock (in string stock_symbol)
 raises (Invalid_Stock_Symbol);
 };
 What feature does this look like from another language? Why?
IDL INTERFACE FOR QUOTER
 In Client.cpp:
 int main (int argc, char* argv[])
 {
 try {
 //First initialize the ORB...
 CORBA::ORB_var orb = CORBA::ORB_init(argc,argv,""/*ORB
name*/);
 //Get reference to desired object and call methods to this
object
 orb->destroy(); //Done, free orb resources
 }
 catch (CORBA::Exception &ex) {
 std::cerr << "CORBA exception raised!" << std::endl;
 }
 return 0;
 }
CLIENT - MANAGE ORB IN STOCK
QUOTER
 In Client.cpp:
 #include "QuoterC.h”
 //Get reference to desired object
CORBA::Object_var factory_object =
orb->string_to_object(argv[1]);
 //Call methods through this object
Quoter::Stock_Factory_var factory = //Get a factory
Quoter::Stock_Factory::_narrow(factory_object.in
());
 for (int i = 2; i != argc; ++i) {
try { //Get the stock object
Quoter::Stock_var stock = factory-
>get_stock(argv[i]);
 }
 }
CLIENT - GET QUOTER OBJECT
REFERENCE
 In Stock_factory_i.cpp:
 // Return Object Reference
 Quoter::Stock_ptr
Quoter_Stock_Factory_i::get_stock
 (const char *symbol) throw
(Quoter::Invalid_Stock_Symbol)
 { if (strcmp (symbol, "RHAT") == 0)
 { return this->rhat_._this(); }
 else if (strcmp (symbol, "MSFT") == 0)
 { return this->msft_._this(); }
 throw Quoter::Invalid_Stock_Symbol();
 }
IMPLEMENT METHOD GET_STOCK()
 In Stock_i.cpp:
 class Quoter_Stock_i : public POA_Quoter::Stock
 {
 public:
 Quoter_Stock_i(const char *symbol, const
char*full_name,
CORBA::Double price);
 private:
 std::string symbol_;
 std::string full_name_;
 CORBA::Double price_;
 };
IMPLEMENTING STOCK INTERFACE
 int main (int argc, char* argv[])
 { try
 { // First initialize the ORB
 CORBA::ORB_var orb = CORBA::ORB_init(argc,argv,""/*ORB name
*/);
 CORBA::Object_var poa_object =
 orb->resolve_initial_references ("RootPOA");
 PortableServer::POA_var poa =
 PortableServer::POA::_narrow (poa_object.in ());
 PortableServer::POAManager_var poa_manager =
 poa->the_POAManager ();
 poa_manager->activate ();

 //The application code goes here!
 //Clean up the server objects (wait until destruction is done)
 poa->destroy(1, 1); orb->destroy();
 }
 catch (CORBA::Exception &ex)
{ std::cerr << "CORBA exception raised!" << std::endl; }
 return 0;
}
IMPLEMENT SERVER
COMMUNICATION FEATURES OF
CORBA
 Common Object Request Broker Architecture (CORBA)
ď‚§ CORBA2 adopted in 1994
ď‚§ A specification of services helpful to build distributed
applications
 Remote Method Invocation (RMI)
ď‚§ Used for communication between components across a
network (for example, in Java)
 Simple Object Access Protocol (SOAP)
ď‚§ A protocol specification for invoking methods on different
servers, services, components and objects
COMMUNICATION PROTOCOL
MODELS
ď‚§ Emerging standards support web services, all in XML:
• UDDI (Universal Description, Discovery and Integration)
ď‚§ - describes a way to publish & discover information
(directory)
• WSDL (Web Service Definition Language)
ď‚§ - describes services as a set of endpoints operating on
messages
• SOAP (Simple Object Access Protocol)
ď‚§ - defines the overall message structure of web service
request
WEB SERVICES WITH SOAP
 What is SOAP?
• An open wire protocol specification that defines a uniform
way to access services, objects and servers in various platform
- Works with existing Internet infrastructure
- Talks to web server via XML text rather than several ports
ď‚§
• HTTP as the underlying communication protocol
ď‚§ - Encapsulate messages between objects in HTTP
• XML as the data serialization format.
ď‚§ - Client and server exchange data in SOAP-XML messages
SOAP USES INTERNET PROTOCOLS
[FROM WHAT THE HECK IS SOAP
ANYWAY BY DAVID PLATT ]
ď‚§SOAP messages describe information in XML:
• Consists of a SOAP envelope and encoding rules
• Envelope defines name spaces used in the definition
of the enclosed data structures
• Encoding rules describe how to serialize data and a
convention for making remote procedure calls (RPC)
SOAP SPECIFICATION
TRANSMISSION DATA FORMAT
INTEROPERABILITY
OBJECT IDENTITY AND LIFETIME
EASE OF USE
Thank you
 Wikipedia
 Google
REFERENCES

More Related Content

PPTX
CLOUD STORAGE.pptx
PDF
Cloud Computing
PPT
DOT Net overview
PDF
Application of Cloud Computing
PPTX
AWS Simple Storage Service (s3)
PPTX
Cloud Service Models
PDF
Servlet and servlet life cycle
CLOUD STORAGE.pptx
Cloud Computing
DOT Net overview
Application of Cloud Computing
AWS Simple Storage Service (s3)
Cloud Service Models
Servlet and servlet life cycle

What's hot (20)

PPTX
Cloud security ppt
PDF
Using Machine Learning in Networks Intrusion Detection Systems
PPTX
Top 10 cloud service providers
PDF
Pervasive Web Application Architecture
PDF
Different types of virtualisation
PPTX
CS8651 IP Unit 3.pptx
PPTX
Cloud database
DOCX
The seminar report on cloud computing
PPTX
ASP.NET Core
PPTX
Cloud Computing Fundamentals
PPTX
Windows 2019
PPT
What is load balancer in aws and types of load balancers
PPTX
Ipv6 the next generation protocol
PPTX
Introduction to NoSQL Databases
PPTX
Azure storage
DOCX
Virtualization in cloud computing
PPTX
Cloud Computing and Data Centers
PPTX
Mapping Cardinalities
PPTX
Part 01: Azure Virtual Networks – An Overview
PPTX
Cloud Computing For Beginners | Cloud Computing Explained | Cloud Computing T...
Cloud security ppt
Using Machine Learning in Networks Intrusion Detection Systems
Top 10 cloud service providers
Pervasive Web Application Architecture
Different types of virtualisation
CS8651 IP Unit 3.pptx
Cloud database
The seminar report on cloud computing
ASP.NET Core
Cloud Computing Fundamentals
Windows 2019
What is load balancer in aws and types of load balancers
Ipv6 the next generation protocol
Introduction to NoSQL Databases
Azure storage
Virtualization in cloud computing
Cloud Computing and Data Centers
Mapping Cardinalities
Part 01: Azure Virtual Networks – An Overview
Cloud Computing For Beginners | Cloud Computing Explained | Cloud Computing T...
Ad

Viewers also liked (20)

PPTX
Corba concepts & corba architecture
PPT
Corba
PPT
C O R B A Unit 4
PPT
Distributed objects & components of corba
PPTX
Docker for the enterprise
PPTX
Addressing security concerns through BPM
PDF
Presentation websockets
PDF
Alibaba Cloud Conference 2016 - Docker Enterprise
PPTX
Component object model and
PPT
CORBA Basic and Deployment of CORBA
PPT
Presentation On Com Dcom
PDF
Common Object Request Broker Architecture - CORBA
PPT
Chapter 17 corba
PDF
Component Object Model (COM, DCOM, COM+)
PPT
Corba introduction and simple example
PPTX
The missing piece : when Docker networking and services finally unleashes so...
PPTX
Docker Meetup Paris: enterprise Docker
PPT
Dcom vs. corba
PPTX
Iaas.paas.saas
Corba concepts & corba architecture
Corba
C O R B A Unit 4
Distributed objects & components of corba
Docker for the enterprise
Addressing security concerns through BPM
Presentation websockets
Alibaba Cloud Conference 2016 - Docker Enterprise
Component object model and
CORBA Basic and Deployment of CORBA
Presentation On Com Dcom
Common Object Request Broker Architecture - CORBA
Chapter 17 corba
Component Object Model (COM, DCOM, COM+)
Corba introduction and simple example
The missing piece : when Docker networking and services finally unleashes so...
Docker Meetup Paris: enterprise Docker
Dcom vs. corba
Iaas.paas.saas
Ad

Similar to Corba model ppt (20)

PPT
Rpc Case Studies (Distributed computing)
PPT
05 rpc-case studies
 
PPT
Corba and-java
PPTX
Distributing computing.pptx
PDF
corbaintroductionandexample-140703005744-phpapp02.pdf
DOCX
85305524 i-t-case-study
PPT
MIDELWARE TECH
DOCX
Chapter2
DOCX
82159587 case-study-on-corba
PDF
6. The grid-COMPUTING OGSA and WSRF
PPT
JSR 82 (bluetooth obex)
PPT
Distributed systems corba remote connection
PPTX
corba-151024114450-lva1-app6891.pptx
PPTX
PPT
Dotnetintroduce 100324201546-phpapp02
DOCX
Learning activity 3
PPT
MyMobileWeb Certification Part III
 
PDF
Middleware1
PPT
Lecture4 corba
Rpc Case Studies (Distributed computing)
05 rpc-case studies
 
Corba and-java
Distributing computing.pptx
corbaintroductionandexample-140703005744-phpapp02.pdf
85305524 i-t-case-study
MIDELWARE TECH
Chapter2
82159587 case-study-on-corba
6. The grid-COMPUTING OGSA and WSRF
JSR 82 (bluetooth obex)
Distributed systems corba remote connection
corba-151024114450-lva1-app6891.pptx
Dotnetintroduce 100324201546-phpapp02
Learning activity 3
MyMobileWeb Certification Part III
 
Middleware1
Lecture4 corba

More from Saransh Garg (17)

PPTX
Technical non-technical-requirement-of-cots-selection
PPTX
Selecting with multiple interfaces
PPTX
Selecting cots vendor in cbse process
PPTX
Scs.pptx repaired
PPTX
Repo for cbt
PPT
Rbce
PPTX
Predicting system trustworthyness
PPTX
Koala component model (1)
PPT
Javabean1
PPTX
Integration in component based technology
PPTX
Embedded system.pptx
PPT
Cots integration
PPTX
Composition of cots
PPTX
Components in real time systems
PPT
Component based models and technology
PPT
Cbt component based technology architectures
PPTX
Architecture support for component
Technical non-technical-requirement-of-cots-selection
Selecting with multiple interfaces
Selecting cots vendor in cbse process
Scs.pptx repaired
Repo for cbt
Rbce
Predicting system trustworthyness
Koala component model (1)
Javabean1
Integration in component based technology
Embedded system.pptx
Cots integration
Composition of cots
Components in real time systems
Component based models and technology
Cbt component based technology architectures
Architecture support for component

Recently uploaded (20)

PPTX
Cell Types and Its function , kingdom of life
PPTX
Pharma ospi slides which help in ospi learning
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
Pre independence Education in Inndia.pdf
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
 
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
master seminar digital applications in india
PDF
Basic Mud Logging Guide for educational purpose
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
 
PDF
Complications of Minimal Access Surgery at WLH
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
Cell Types and Its function , kingdom of life
Pharma ospi slides which help in ospi learning
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
Pre independence Education in Inndia.pdf
PPH.pptx obstetrics and gynecology in nursing
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
 
Module 4: Burden of Disease Tutorial Slides S2 2025
master seminar digital applications in india
Basic Mud Logging Guide for educational purpose
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
VCE English Exam - Section C Student Revision Booklet
Microbial disease of the cardiovascular and lymphatic systems
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
Final Presentation General Medicine 03-08-2024.pptx
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
 
Complications of Minimal Access Surgery at WLH
human mycosis Human fungal infections are called human mycosis..pptx

Corba model ppt

  • 1. By : Pankaj gola (2k11/se/047) Vikas sharma (2k11/se/085) Ravi kumar (2k11/se/057) Akhilesh (2k10/se/008) SOFTWARE COMPONENT MODEL -CORBA MODEL-
  • 2. Component-based software engineering (CBSE) (also known as component-based development (CBD)) is a branch of software engineering that emphasizes the separation of concerns in respect of the wide-ranging functionality available throughout a given software system. COMPONENT BASED SOFTWARE ENGINEERING(CBSE)
  • 3.  “A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties.”  Unit of composition – combine components to build systems  Binary units – black boxes, not source code  Contractually specified interfaces – mechanism for interface definition, such as Interface Definition Language  Independent production – separation of concerns  Deployed and composed by third parties – reusable units assembled like parts supplied by manufacturers -1996 European Conference on Object-Oriented Programming SOFTWARE COMPONENTS
  • 4.  Consider two ends of a spectrum: ď‚§ Comm. off the shelf < --- > Custom-made ď‚§ What advantages of COTS software could components offer to custom-made?  Advantages: ď‚§ Cost efficiency & flexibility ď‚§ Reuse, productivity ď‚§ Scalability ď‚§ Application of engineering techniques WHY A COMPONENT BASED APPROACH?
  • 7.  Common Object Request Broker Architecture ď‚§ Created by Object Management Group (consortium of 700+ companies) ď‚§ Defines how distributed, heterogeneous objects can interoperate  Location Transparency ď‚§ Client has no idea where object resides, where it is local or remote  Objects ď‚§ Gives object-oriented benefits at a higher level ď‚§ E.g. encapsulation – must access through IDL, polymorphism, inheritance of interfaces, exception handling  Portable ď‚§ across platforms, languages, networks  Standard CORBA MODEL
  • 8.  Interface Definition Language (IDL) ď‚§ Similar to interfaces in Java or C++ abstract classes ď‚§ Defines protocol to be used between devices ď‚§ Allows “wrappers” for legacy systems  Application Programming Interface (API) ď‚§ Ensures consistency for clients and CORBA objects (in theory)  Object Request Broker (ORB) ď‚§ Middleware establishing client/server relationship ď‚§ Allows transparent invocation of methods ď‚§ Intercepts calls, and deals with them ď‚§ Find an object that can implement the request, pass it the parameters, invoke its method, and return the results ď‚§ Client remains ignorant of how calls are dealt with CORBA ARCHITECTURE
  • 10.  interface Stock {  double price ();  readonly attribute string symbol;  readonly attribute string full_name;  };  interface Stock_Factory {  Stock get_stock (in string stock_symbol)  raises (Invalid_Stock_Symbol);  };  What feature does this look like from another language? Why? IDL INTERFACE FOR QUOTER
  • 11.  In Client.cpp:  int main (int argc, char* argv[])  {  try {  //First initialize the ORB...  CORBA::ORB_var orb = CORBA::ORB_init(argc,argv,""/*ORB name*/);  //Get reference to desired object and call methods to this object  orb->destroy(); //Done, free orb resources  }  catch (CORBA::Exception &ex) {  std::cerr << "CORBA exception raised!" << std::endl;  }  return 0;  } CLIENT - MANAGE ORB IN STOCK QUOTER
  • 12.  In Client.cpp:  #include "QuoterC.h”  //Get reference to desired object CORBA::Object_var factory_object = orb->string_to_object(argv[1]);  //Call methods through this object Quoter::Stock_Factory_var factory = //Get a factory Quoter::Stock_Factory::_narrow(factory_object.in ());  for (int i = 2; i != argc; ++i) { try { //Get the stock object Quoter::Stock_var stock = factory- >get_stock(argv[i]);  }  } CLIENT - GET QUOTER OBJECT REFERENCE
  • 13.  In Stock_factory_i.cpp:  // Return Object Reference  Quoter::Stock_ptr Quoter_Stock_Factory_i::get_stock  (const char *symbol) throw (Quoter::Invalid_Stock_Symbol)  { if (strcmp (symbol, "RHAT") == 0)  { return this->rhat_._this(); }  else if (strcmp (symbol, "MSFT") == 0)  { return this->msft_._this(); }  throw Quoter::Invalid_Stock_Symbol();  } IMPLEMENT METHOD GET_STOCK()
  • 14.  In Stock_i.cpp:  class Quoter_Stock_i : public POA_Quoter::Stock  {  public:  Quoter_Stock_i(const char *symbol, const char*full_name, CORBA::Double price);  private:  std::string symbol_;  std::string full_name_;  CORBA::Double price_;  }; IMPLEMENTING STOCK INTERFACE
  • 15.  int main (int argc, char* argv[])  { try  { // First initialize the ORB  CORBA::ORB_var orb = CORBA::ORB_init(argc,argv,""/*ORB name */);  CORBA::Object_var poa_object =  orb->resolve_initial_references ("RootPOA");  PortableServer::POA_var poa =  PortableServer::POA::_narrow (poa_object.in ());  PortableServer::POAManager_var poa_manager =  poa->the_POAManager ();  poa_manager->activate ();   //The application code goes here!  //Clean up the server objects (wait until destruction is done)  poa->destroy(1, 1); orb->destroy();  }  catch (CORBA::Exception &ex) { std::cerr << "CORBA exception raised!" << std::endl; }  return 0; } IMPLEMENT SERVER
  • 17.  Common Object Request Broker Architecture (CORBA) ď‚§ CORBA2 adopted in 1994 ď‚§ A specification of services helpful to build distributed applications  Remote Method Invocation (RMI) ď‚§ Used for communication between components across a network (for example, in Java)  Simple Object Access Protocol (SOAP) ď‚§ A protocol specification for invoking methods on different servers, services, components and objects COMMUNICATION PROTOCOL MODELS
  • 18. ď‚§ Emerging standards support web services, all in XML: • UDDI (Universal Description, Discovery and Integration) ď‚§ - describes a way to publish & discover information (directory) • WSDL (Web Service Definition Language) ď‚§ - describes services as a set of endpoints operating on messages • SOAP (Simple Object Access Protocol) ď‚§ - defines the overall message structure of web service request WEB SERVICES WITH SOAP
  • 19.  What is SOAP? • An open wire protocol specification that defines a uniform way to access services, objects and servers in various platform - Works with existing Internet infrastructure - Talks to web server via XML text rather than several ports ď‚§ • HTTP as the underlying communication protocol ď‚§ - Encapsulate messages between objects in HTTP • XML as the data serialization format. ď‚§ - Client and server exchange data in SOAP-XML messages SOAP USES INTERNET PROTOCOLS
  • 20. [FROM WHAT THE HECK IS SOAP ANYWAY BY DAVID PLATT ]
  • 21. ď‚§SOAP messages describe information in XML: • Consists of a SOAP envelope and encoding rules • Envelope defines name spaces used in the definition of the enclosed data structures • Encoding rules describe how to serialize data and a convention for making remote procedure calls (RPC) SOAP SPECIFICATION