SlideShare a Scribd company logo
Q8M1 – SC Dudy Fathan Ali S.Kom
Distributed Application Development
Q8M1
Dudy Fathan Ali, S.Kom (DFA)
2017
CEP - CCIT
Fakultas Teknik Universitas Indonesia
Additional Documents
Q8M1 – SC Dudy Fathan Ali S.Kom
bit.ly/4sc1-repo
Download this Powerpoint Slide:
Objectives
Q8M1 – SC Dudy Fathan Ali S.Kom
Identify COM+
Create COM+ serviced components
Explore COM+ applications
Q8M1 – SC Dudy Fathan Ali S.Kom
Introducing COM+
Distributed Application Development
o Earlier distributed applications were based on DCOM.
o DCOM-based applications do not provide features such as secure
communication and reliable data transfer.
o To include such features in the distributed applications, you need to
implement COM+.
Q8M1 – SC Dudy Fathan Ali S.Kom
Evolution of COM+
Distributed Application Development
o Single-tier applications do not provide code reusability.
o COM was introduced to provide code reusability.
o COM had the following limitations:
o It does not allow a client application residing on a separate
computer to access a component.
o It does not provide features such as security and consistency of
data.
o These limitations led to the development of DCOM.
Q8M1 – SC Dudy Fathan Ali S.Kom
Evolution of COM+ (contd.)
Distributed Application Development
o DCOM:
o Allows developers to create a component that can be accessed by a
client application residing on a separate computer.
o Provides features such as security and platform independence that
are required in the distributed application architecture.
o DCOM does not provide features such as reliable data transfer,
enhanced performance, and optimum memory consumption required in
the distributed application architecture.
o This led to the development of COM+.
Q8M1 – SC Dudy Fathan Ali S.Kom
COM+ Services
Distributed Application Development
o COM+ provides various services that enable COM developers to develop
scalable and robust distributed applications.
o Some of the COM+ services are:
o Just-in-time activation
o Role-based security
o Synchronization
o Object pooling
o Transactions
o Queued components
Q8M1 – SC Dudy Fathan Ali S.Kom
COM+ Services (contd.)
Distributed Application Development
o The just-in-time (JIT) activation service:
o Enables optimum use of server resources.
o Can be implemented in a COM+ serviced component, as shown in
the following code snippet:
[JustInTimeActivation]
public class MyClass : ServicedComponent
{
//class body
}
Q8M1 – SC Dudy Fathan Ali S.Kom
COM+ Services (contd.)
Distributed Application Development
o The role-based security service:
o Is used to secure distributed applications.
o Provides role-based access to the components.
o Can be implemented in a COM+ serviced component, as shown in
the following code snippet:
[SecurityRole("Manager", SetEveryoneAccess=false)]
public class MyClass : ServicedComponent
{
//class body
}
Q8M1 – SC Dudy Fathan Ali S.Kom
COM+ Services (contd.)
Distributed Application Development
o The synchronization service:
o Enables you to manage multiple client applications accessing a
COM+ serviced component, simultaneously.
o Prohibits more than one application to access a component at a
particular point in time.
o Can be implemented in a COM+ serviced component, as shown in
the following code snippet:
[Synchronization(SynchronizationOption.Required)]
public class MyClass : ServicedComponent
{
//class body
}
Q8M1 – SC Dudy Fathan Ali S.Kom
COM+ Services (contd.)
Distributed Application Development
o A transaction:
o Enables a component to maintain data integrity and consistency by
grouping various related operations as an atomic unit.
o Is successful only when all the operations contained in the atomic
unit are completed successfully.
o Can be implemented in a COM+ serviced component, as shown in
the following code snippet:
[Transaction(TransactionOption.Required)]
public class MyClass : ServicedComponent
{
//class body
}
Q8M1 – SC Dudy Fathan Ali S.Kom
COM+ Services (contd.)
Distributed Application Development
o Message queuing service:
o Enables a client to send a message to a COM+ serviced component
even if the component is not available due to network connectivity.
o Can be implemented in a COM+ serviced component, as shown in
the following code snippet:
[assembly: ApplicationQueuing(Enabled = true,
QueueListenerEnabled = true)]
namespace MyComponent
{
public class Class1:ServicedComponent
{
//class body
}
}
Q8M1 – SC Dudy Fathan Ali S.Kom
Creating COM+ Serviced Components
Distributed Application Development
o Components that use COM+ services are called COM+ serviced
components.
o COM+ serviced components are derived from the .NET base class
ServicedComponent present in the System.EnterpriseServices
namespace.
o To implement COM+ services in a .NET component, you need to:
o Configure the component.
o Register the component.
Q8M1 – SC Dudy Fathan Ali S.Kom
Configuring a .NET Component
Distributed Application Development
o To implement COM+ services in a .NET component, you need to inherit
the ServicedComponent class present in the
System.EnterpriseServices namespace, as shown in the
following code snippet:
using System.EnterpriseServices;
namespace MyComponent
{
public class MyComponentClass:ServicedComponent
{
//class body
}
}
Q8M1 – SC Dudy Fathan Ali S.Kom
Registering a .NET Component
Distributed Application Development
o To enable a client application to access a COM+ serviced component,
you need to register it in the Component Services tool.
o You can register a component in the Component Services tool by using
any one of the following ways:
o Manual registration
o Programmatic registration
o Dynamic registration
Q8M1 – SC Dudy Fathan Ali S.Kom
Summary
Distributed Application Development
o In this session, you learned that:
o COM+ is a programming model that provides a number of features
such as security, queuing, and transactions.
o A component that implements the services provided by COM+ is
known as a COM+ serviced component.
o Some of the services provided by COM+ are:
o Just-in-time activation
o Role-based security
o Synchronization
o Object pooling
o Transactions
o Queued components
Q8M1 – SC Dudy Fathan Ali S.Kom
Summary
Distributed Application Development
o COM+ serviced components are derived from the .NET base class,
ServicedComponent present in the System.EnterpriseServices
namespace.
o The three ways in which a COM+ serviced component can be registered
are:
o Manual registration
o Programmatic registration
o Dynamic registration
o The COM+ serviced components that are related to each other and
perform similar functions can be stored in a COM+ application.
Q8M1 – SC Dudy Fathan Ali S.Kom
Summary
Distributed Application Development
o The various types of COM+ applications are:
o Library applications
o Server applications
o Application proxies
o COM+ preinstalled applications
Exercise (contd.)
Q8M1 – SC Dudy Fathan Ali S.Kom
o Sam, a manager at Imperial Bank, is constantly required to calculate the
interest amounts for the loans acquired by their customers. The bank
has the following schemes to grant loan to the customers:
o A five-year scheme with 5% rate of interest.
o A three-year scheme with 10% rate of interest.
o A two-year scheme with 15% rate of interest.
o You, as a software developer, need to create a COM+ serviced
component that calculates the interest and the total amount to be paid
by the customer at the end of the loan duration.
Exercise (contd.)
Q8M1 – SC Dudy Fathan Ali S.Kom
o In addition, you need to create a client application that uses the COM+
serviced component. The client application should accept the customer
name, the loan amount, and the number of years and display the total
amount to be paid by the customer at the end of the period.
o To calculate the interest and the total amount by using a COM+ serviced
component and to display the amount by using a client application, you
need to perform the following tasks:
o Create a COM+ serviced component.
o Register the COM+ serviced component.
o Create a client application.
o Execute and verify the client application.
Exercise (contd.)
Q8M1 – SC Dudy Fathan Ali S.Kom
bit.ly/4sc1-repo
Upload your answers in .rar extension to:
Q8M1 – SC Dudy Fathan Ali S.Kom
Thank You!
Dudy Fathan Ali, S.Kom
dudy.fathan@eng.ui.ac.id

More Related Content

What's hot

.Net framework
.Net framework.Net framework
.Net framework
Om Vikram Thapa
 
Visual Studio 2010 and .NET Framework 4.0 Overview
Visual Studio 2010 and .NET Framework 4.0 OverviewVisual Studio 2010 and .NET Framework 4.0 Overview
Visual Studio 2010 and .NET Framework 4.0 Overview
Harish Ranganathan
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .net
pinky singh
 
Architecture of net framework
Architecture of net frameworkArchitecture of net framework
Architecture of net framework
umesh patil
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iDot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part i
Rakesh Joshi
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iDot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part i
Rakesh Joshi
 
Common language runtime clr
Common language runtime clrCommon language runtime clr
Common language runtime clr
SanSan149
 
Introduction to vb.net
Introduction to vb.netIntroduction to vb.net
Introduction to vb.net
suraj pandey
 
Introduction to .net
Introduction to .net Introduction to .net
Introduction to .net
Jaya Kumari
 
BCA IPU VB.NET UNIT-I
BCA IPU VB.NET UNIT-IBCA IPU VB.NET UNIT-I
BCA IPU VB.NET UNIT-I
Vaibhavj1234
 
.Net framework
.Net framework.Net framework
.Net frameworkRaghu nath
 
Net framework
Net frameworkNet framework
Net frameworksumit1503
 
.Net Framework
.Net Framework.Net Framework
.Net Framework
MohamadKrm
 
6.origins genesis of .net technology
6.origins genesis of .net technology6.origins genesis of .net technology
6.origins genesis of .net technology
Pramod Rathore
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.Net
Vishwa Mohan
 
.NET Framework Overview
.NET Framework Overview.NET Framework Overview
.NET Framework OverviewDoncho Minkov
 

What's hot (20)

.Net framework
.Net framework.Net framework
.Net framework
 
Visual Studio 2010 and .NET Framework 4.0 Overview
Visual Studio 2010 and .NET Framework 4.0 OverviewVisual Studio 2010 and .NET Framework 4.0 Overview
Visual Studio 2010 and .NET Framework 4.0 Overview
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .net
 
Architecture of net framework
Architecture of net frameworkArchitecture of net framework
Architecture of net framework
 
Dot net Introduction and their usabilities
Dot net Introduction and  their usabilitiesDot net Introduction and  their usabilities
Dot net Introduction and their usabilities
 
Mca 504 dotnet_unit1
Mca 504 dotnet_unit1Mca 504 dotnet_unit1
Mca 504 dotnet_unit1
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iDot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part i
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iDot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part i
 
Common language runtime clr
Common language runtime clrCommon language runtime clr
Common language runtime clr
 
Introduction to vb.net
Introduction to vb.netIntroduction to vb.net
Introduction to vb.net
 
Introduction to .net
Introduction to .net Introduction to .net
Introduction to .net
 
BCA IPU VB.NET UNIT-I
BCA IPU VB.NET UNIT-IBCA IPU VB.NET UNIT-I
BCA IPU VB.NET UNIT-I
 
.Net framework
.Net framework.Net framework
.Net framework
 
Net framework
Net frameworkNet framework
Net framework
 
.Net Framework
.Net Framework.Net Framework
.Net Framework
 
6.origins genesis of .net technology
6.origins genesis of .net technology6.origins genesis of .net technology
6.origins genesis of .net technology
 
.net framework
.net framework.net framework
.net framework
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.Net
 
C# chap 2
C# chap 2C# chap 2
C# chap 2
 
.NET Framework Overview
.NET Framework Overview.NET Framework Overview
.NET Framework Overview
 

Similar to Understanding COM+

Web services & com+ components
Web services & com+ componentsWeb services & com+ components
Web services & com+ components
GowriLatha1
 
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Kiko Monteverde
 
Online bus pass registration
Online bus pass registrationOnline bus pass registration
Online bus pass registration
Yesu Raj
 
Resume_PankajTaneja_Infosystem
Resume_PankajTaneja_InfosystemResume_PankajTaneja_Infosystem
Resume_PankajTaneja_InfosystemPankaj Taneja
 
Driving the Telecom Digital Transformation through Open Digital Architecture
Driving the Telecom Digital Transformation through Open Digital ArchitectureDriving the Telecom Digital Transformation through Open Digital Architecture
Driving the Telecom Digital Transformation through Open Digital Architecture
SanjeewaRavi
 
Project synopsis.
Project synopsis.Project synopsis.
Project synopsis.
ssuser3bb83f1
 
Comodo SecureBox Management Console – Quick Start Guide
Comodo SecureBox Management Console – Quick Start GuideComodo SecureBox Management Console – Quick Start Guide
Comodo SecureBox Management Console – Quick Start Guide
Riya Dey
 
Comidor presentation 2014 for partners
Comidor presentation 2014 for partnersComidor presentation 2014 for partners
Comidor presentation 2014 for partners
George Fylaktopoulos
 
Gain maximum benefit from Channel Technical Professionals and the technical p...
Gain maximum benefit from Channel Technical Professionals and the technical p...Gain maximum benefit from Channel Technical Professionals and the technical p...
Gain maximum benefit from Channel Technical Professionals and the technical p...
Arrow ECS UK
 
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Haytham Ghandour
 
Car Rental in C++
Car Rental in C++Car Rental in C++
Car Rental in C++
RitickKamal
 
MS .Net - An IntelliSense Way of Web Development
MS .Net - An IntelliSense Way of Web DevelopmentMS .Net - An IntelliSense Way of Web Development
MS .Net - An IntelliSense Way of Web Development
Edureka!
 
Vnv kumar performance testing
Vnv kumar performance testingVnv kumar performance testing
Vnv kumar performance testing
Vinay Kumar
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slides
IBM Rational software
 
Mi0033 software engineering
Mi0033   software engineeringMi0033   software engineering
Mi0033 software engineering
smumbahelp
 
RICOH THETA x IoT Developers Contest : Cloud API Seminar
 RICOH THETA x IoT Developers Contest : Cloud API Seminar RICOH THETA x IoT Developers Contest : Cloud API Seminar
RICOH THETA x IoT Developers Contest : Cloud API Seminar
contest-theta360
 

Similar to Understanding COM+ (20)

Web services & com+ components
Web services & com+ componentsWeb services & com+ components
Web services & com+ components
 
Gireesh G.G Resume
Gireesh G.G ResumeGireesh G.G Resume
Gireesh G.G Resume
 
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
 
Shivani_CV (2) (2) (1)
Shivani_CV (2) (2) (1)Shivani_CV (2) (2) (1)
Shivani_CV (2) (2) (1)
 
Online bus pass registration
Online bus pass registrationOnline bus pass registration
Online bus pass registration
 
Resume_PankajTaneja_Infosystem
Resume_PankajTaneja_InfosystemResume_PankajTaneja_Infosystem
Resume_PankajTaneja_Infosystem
 
Driving the Telecom Digital Transformation through Open Digital Architecture
Driving the Telecom Digital Transformation through Open Digital ArchitectureDriving the Telecom Digital Transformation through Open Digital Architecture
Driving the Telecom Digital Transformation through Open Digital Architecture
 
vinay-mittal-new
vinay-mittal-newvinay-mittal-new
vinay-mittal-new
 
Project synopsis.
Project synopsis.Project synopsis.
Project synopsis.
 
Comodo SecureBox Management Console – Quick Start Guide
Comodo SecureBox Management Console – Quick Start GuideComodo SecureBox Management Console – Quick Start Guide
Comodo SecureBox Management Console – Quick Start Guide
 
Comidor presentation 2014 for partners
Comidor presentation 2014 for partnersComidor presentation 2014 for partners
Comidor presentation 2014 for partners
 
Gain maximum benefit from Channel Technical Professionals and the technical p...
Gain maximum benefit from Channel Technical Professionals and the technical p...Gain maximum benefit from Channel Technical Professionals and the technical p...
Gain maximum benefit from Channel Technical Professionals and the technical p...
 
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
 
Car Rental in C++
Car Rental in C++Car Rental in C++
Car Rental in C++
 
MS .Net - An IntelliSense Way of Web Development
MS .Net - An IntelliSense Way of Web DevelopmentMS .Net - An IntelliSense Way of Web Development
MS .Net - An IntelliSense Way of Web Development
 
Vnv kumar performance testing
Vnv kumar performance testingVnv kumar performance testing
Vnv kumar performance testing
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slides
 
Mi0033 software engineering
Mi0033   software engineeringMi0033   software engineering
Mi0033 software engineering
 
RICOH THETA x IoT Developers Contest : Cloud API Seminar
 RICOH THETA x IoT Developers Contest : Cloud API Seminar RICOH THETA x IoT Developers Contest : Cloud API Seminar
RICOH THETA x IoT Developers Contest : Cloud API Seminar
 
Rami Yasser C.V
Rami Yasser C.VRami Yasser C.V
Rami Yasser C.V
 

More from Dudy Ali

Java CRUD Mechanism with SQL Server Database
Java CRUD Mechanism with SQL Server DatabaseJava CRUD Mechanism with SQL Server Database
Java CRUD Mechanism with SQL Server Database
Dudy Ali
 
Network Socket Programming with JAVA
Network Socket Programming with JAVANetwork Socket Programming with JAVA
Network Socket Programming with JAVA
Dudy Ali
 
XML Schema Part 2
XML Schema Part 2XML Schema Part 2
XML Schema Part 2
Dudy Ali
 
XML Schema Part 1
XML Schema Part 1XML Schema Part 1
XML Schema Part 1
Dudy Ali
 
Rendering XML Document
Rendering XML DocumentRendering XML Document
Rendering XML Document
Dudy Ali
 
Pengantar XML
Pengantar XMLPengantar XML
Pengantar XML
Dudy Ali
 
Pengantar XML DOM
Pengantar XML DOMPengantar XML DOM
Pengantar XML DOM
Dudy Ali
 
Pengantar ADO.NET
Pengantar ADO.NETPengantar ADO.NET
Pengantar ADO.NET
Dudy Ali
 
Database Connectivity with JDBC
Database Connectivity with JDBCDatabase Connectivity with JDBC
Database Connectivity with JDBC
Dudy Ali
 
XML - Displaying Data ith XSLT
XML - Displaying Data ith XSLTXML - Displaying Data ith XSLT
XML - Displaying Data ith XSLT
Dudy Ali
 
Algorithm & Data Structure - Algoritma Pengurutan
Algorithm & Data Structure - Algoritma PengurutanAlgorithm & Data Structure - Algoritma Pengurutan
Algorithm & Data Structure - Algoritma Pengurutan
Dudy Ali
 
Algorithm & Data Structure - Pengantar
Algorithm & Data Structure - PengantarAlgorithm & Data Structure - Pengantar
Algorithm & Data Structure - Pengantar
Dudy Ali
 
Object Oriented Programming - Value Types & Reference Types
Object Oriented Programming - Value Types & Reference TypesObject Oriented Programming - Value Types & Reference Types
Object Oriented Programming - Value Types & Reference Types
Dudy Ali
 
Object Oriented Programming - Inheritance
Object Oriented Programming - InheritanceObject Oriented Programming - Inheritance
Object Oriented Programming - Inheritance
Dudy Ali
 
Object Oriented Programming - File Input & Output
Object Oriented Programming - File Input & OutputObject Oriented Programming - File Input & Output
Object Oriented Programming - File Input & Output
Dudy Ali
 
Object Oriented Programming - Constructors & Destructors
Object Oriented Programming - Constructors & DestructorsObject Oriented Programming - Constructors & Destructors
Object Oriented Programming - Constructors & Destructors
Dudy Ali
 
Object Oriented Programming - Abstraction & Encapsulation
Object Oriented Programming - Abstraction & EncapsulationObject Oriented Programming - Abstraction & Encapsulation
Object Oriented Programming - Abstraction & Encapsulation
Dudy Ali
 
Web Programming Syaria - Pengenalan Halaman Web
Web Programming Syaria - Pengenalan Halaman WebWeb Programming Syaria - Pengenalan Halaman Web
Web Programming Syaria - Pengenalan Halaman Web
Dudy Ali
 
Web Programming Syaria - PHP
Web Programming Syaria - PHPWeb Programming Syaria - PHP
Web Programming Syaria - PHP
Dudy Ali
 
Software Project Management - Project Management Knowledge
Software Project Management - Project Management KnowledgeSoftware Project Management - Project Management Knowledge
Software Project Management - Project Management Knowledge
Dudy Ali
 

More from Dudy Ali (20)

Java CRUD Mechanism with SQL Server Database
Java CRUD Mechanism with SQL Server DatabaseJava CRUD Mechanism with SQL Server Database
Java CRUD Mechanism with SQL Server Database
 
Network Socket Programming with JAVA
Network Socket Programming with JAVANetwork Socket Programming with JAVA
Network Socket Programming with JAVA
 
XML Schema Part 2
XML Schema Part 2XML Schema Part 2
XML Schema Part 2
 
XML Schema Part 1
XML Schema Part 1XML Schema Part 1
XML Schema Part 1
 
Rendering XML Document
Rendering XML DocumentRendering XML Document
Rendering XML Document
 
Pengantar XML
Pengantar XMLPengantar XML
Pengantar XML
 
Pengantar XML DOM
Pengantar XML DOMPengantar XML DOM
Pengantar XML DOM
 
Pengantar ADO.NET
Pengantar ADO.NETPengantar ADO.NET
Pengantar ADO.NET
 
Database Connectivity with JDBC
Database Connectivity with JDBCDatabase Connectivity with JDBC
Database Connectivity with JDBC
 
XML - Displaying Data ith XSLT
XML - Displaying Data ith XSLTXML - Displaying Data ith XSLT
XML - Displaying Data ith XSLT
 
Algorithm & Data Structure - Algoritma Pengurutan
Algorithm & Data Structure - Algoritma PengurutanAlgorithm & Data Structure - Algoritma Pengurutan
Algorithm & Data Structure - Algoritma Pengurutan
 
Algorithm & Data Structure - Pengantar
Algorithm & Data Structure - PengantarAlgorithm & Data Structure - Pengantar
Algorithm & Data Structure - Pengantar
 
Object Oriented Programming - Value Types & Reference Types
Object Oriented Programming - Value Types & Reference TypesObject Oriented Programming - Value Types & Reference Types
Object Oriented Programming - Value Types & Reference Types
 
Object Oriented Programming - Inheritance
Object Oriented Programming - InheritanceObject Oriented Programming - Inheritance
Object Oriented Programming - Inheritance
 
Object Oriented Programming - File Input & Output
Object Oriented Programming - File Input & OutputObject Oriented Programming - File Input & Output
Object Oriented Programming - File Input & Output
 
Object Oriented Programming - Constructors & Destructors
Object Oriented Programming - Constructors & DestructorsObject Oriented Programming - Constructors & Destructors
Object Oriented Programming - Constructors & Destructors
 
Object Oriented Programming - Abstraction & Encapsulation
Object Oriented Programming - Abstraction & EncapsulationObject Oriented Programming - Abstraction & Encapsulation
Object Oriented Programming - Abstraction & Encapsulation
 
Web Programming Syaria - Pengenalan Halaman Web
Web Programming Syaria - Pengenalan Halaman WebWeb Programming Syaria - Pengenalan Halaman Web
Web Programming Syaria - Pengenalan Halaman Web
 
Web Programming Syaria - PHP
Web Programming Syaria - PHPWeb Programming Syaria - PHP
Web Programming Syaria - PHP
 
Software Project Management - Project Management Knowledge
Software Project Management - Project Management KnowledgeSoftware Project Management - Project Management Knowledge
Software Project Management - Project Management Knowledge
 

Recently uploaded

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 

Recently uploaded (20)

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 

Understanding COM+

  • 1. Q8M1 – SC Dudy Fathan Ali S.Kom Distributed Application Development Q8M1 Dudy Fathan Ali, S.Kom (DFA) 2017 CEP - CCIT Fakultas Teknik Universitas Indonesia
  • 2. Additional Documents Q8M1 – SC Dudy Fathan Ali S.Kom bit.ly/4sc1-repo Download this Powerpoint Slide:
  • 3. Objectives Q8M1 – SC Dudy Fathan Ali S.Kom Identify COM+ Create COM+ serviced components Explore COM+ applications
  • 4. Q8M1 – SC Dudy Fathan Ali S.Kom Introducing COM+ Distributed Application Development o Earlier distributed applications were based on DCOM. o DCOM-based applications do not provide features such as secure communication and reliable data transfer. o To include such features in the distributed applications, you need to implement COM+.
  • 5. Q8M1 – SC Dudy Fathan Ali S.Kom Evolution of COM+ Distributed Application Development o Single-tier applications do not provide code reusability. o COM was introduced to provide code reusability. o COM had the following limitations: o It does not allow a client application residing on a separate computer to access a component. o It does not provide features such as security and consistency of data. o These limitations led to the development of DCOM.
  • 6. Q8M1 – SC Dudy Fathan Ali S.Kom Evolution of COM+ (contd.) Distributed Application Development o DCOM: o Allows developers to create a component that can be accessed by a client application residing on a separate computer. o Provides features such as security and platform independence that are required in the distributed application architecture. o DCOM does not provide features such as reliable data transfer, enhanced performance, and optimum memory consumption required in the distributed application architecture. o This led to the development of COM+.
  • 7. Q8M1 – SC Dudy Fathan Ali S.Kom COM+ Services Distributed Application Development o COM+ provides various services that enable COM developers to develop scalable and robust distributed applications. o Some of the COM+ services are: o Just-in-time activation o Role-based security o Synchronization o Object pooling o Transactions o Queued components
  • 8. Q8M1 – SC Dudy Fathan Ali S.Kom COM+ Services (contd.) Distributed Application Development o The just-in-time (JIT) activation service: o Enables optimum use of server resources. o Can be implemented in a COM+ serviced component, as shown in the following code snippet: [JustInTimeActivation] public class MyClass : ServicedComponent { //class body }
  • 9. Q8M1 – SC Dudy Fathan Ali S.Kom COM+ Services (contd.) Distributed Application Development o The role-based security service: o Is used to secure distributed applications. o Provides role-based access to the components. o Can be implemented in a COM+ serviced component, as shown in the following code snippet: [SecurityRole("Manager", SetEveryoneAccess=false)] public class MyClass : ServicedComponent { //class body }
  • 10. Q8M1 – SC Dudy Fathan Ali S.Kom COM+ Services (contd.) Distributed Application Development o The synchronization service: o Enables you to manage multiple client applications accessing a COM+ serviced component, simultaneously. o Prohibits more than one application to access a component at a particular point in time. o Can be implemented in a COM+ serviced component, as shown in the following code snippet: [Synchronization(SynchronizationOption.Required)] public class MyClass : ServicedComponent { //class body }
  • 11. Q8M1 – SC Dudy Fathan Ali S.Kom COM+ Services (contd.) Distributed Application Development o A transaction: o Enables a component to maintain data integrity and consistency by grouping various related operations as an atomic unit. o Is successful only when all the operations contained in the atomic unit are completed successfully. o Can be implemented in a COM+ serviced component, as shown in the following code snippet: [Transaction(TransactionOption.Required)] public class MyClass : ServicedComponent { //class body }
  • 12. Q8M1 – SC Dudy Fathan Ali S.Kom COM+ Services (contd.) Distributed Application Development o Message queuing service: o Enables a client to send a message to a COM+ serviced component even if the component is not available due to network connectivity. o Can be implemented in a COM+ serviced component, as shown in the following code snippet: [assembly: ApplicationQueuing(Enabled = true, QueueListenerEnabled = true)] namespace MyComponent { public class Class1:ServicedComponent { //class body } }
  • 13. Q8M1 – SC Dudy Fathan Ali S.Kom Creating COM+ Serviced Components Distributed Application Development o Components that use COM+ services are called COM+ serviced components. o COM+ serviced components are derived from the .NET base class ServicedComponent present in the System.EnterpriseServices namespace. o To implement COM+ services in a .NET component, you need to: o Configure the component. o Register the component.
  • 14. Q8M1 – SC Dudy Fathan Ali S.Kom Configuring a .NET Component Distributed Application Development o To implement COM+ services in a .NET component, you need to inherit the ServicedComponent class present in the System.EnterpriseServices namespace, as shown in the following code snippet: using System.EnterpriseServices; namespace MyComponent { public class MyComponentClass:ServicedComponent { //class body } }
  • 15. Q8M1 – SC Dudy Fathan Ali S.Kom Registering a .NET Component Distributed Application Development o To enable a client application to access a COM+ serviced component, you need to register it in the Component Services tool. o You can register a component in the Component Services tool by using any one of the following ways: o Manual registration o Programmatic registration o Dynamic registration
  • 16. Q8M1 – SC Dudy Fathan Ali S.Kom Summary Distributed Application Development o In this session, you learned that: o COM+ is a programming model that provides a number of features such as security, queuing, and transactions. o A component that implements the services provided by COM+ is known as a COM+ serviced component. o Some of the services provided by COM+ are: o Just-in-time activation o Role-based security o Synchronization o Object pooling o Transactions o Queued components
  • 17. Q8M1 – SC Dudy Fathan Ali S.Kom Summary Distributed Application Development o COM+ serviced components are derived from the .NET base class, ServicedComponent present in the System.EnterpriseServices namespace. o The three ways in which a COM+ serviced component can be registered are: o Manual registration o Programmatic registration o Dynamic registration o The COM+ serviced components that are related to each other and perform similar functions can be stored in a COM+ application.
  • 18. Q8M1 – SC Dudy Fathan Ali S.Kom Summary Distributed Application Development o The various types of COM+ applications are: o Library applications o Server applications o Application proxies o COM+ preinstalled applications
  • 19. Exercise (contd.) Q8M1 – SC Dudy Fathan Ali S.Kom o Sam, a manager at Imperial Bank, is constantly required to calculate the interest amounts for the loans acquired by their customers. The bank has the following schemes to grant loan to the customers: o A five-year scheme with 5% rate of interest. o A three-year scheme with 10% rate of interest. o A two-year scheme with 15% rate of interest. o You, as a software developer, need to create a COM+ serviced component that calculates the interest and the total amount to be paid by the customer at the end of the loan duration.
  • 20. Exercise (contd.) Q8M1 – SC Dudy Fathan Ali S.Kom o In addition, you need to create a client application that uses the COM+ serviced component. The client application should accept the customer name, the loan amount, and the number of years and display the total amount to be paid by the customer at the end of the period. o To calculate the interest and the total amount by using a COM+ serviced component and to display the amount by using a client application, you need to perform the following tasks: o Create a COM+ serviced component. o Register the COM+ serviced component. o Create a client application. o Execute and verify the client application.
  • 21. Exercise (contd.) Q8M1 – SC Dudy Fathan Ali S.Kom bit.ly/4sc1-repo Upload your answers in .rar extension to:
  • 22. Q8M1 – SC Dudy Fathan Ali S.Kom Thank You! Dudy Fathan Ali, S.Kom dudy.fathan@eng.ui.ac.id