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

Module 3 Notes

Uploaded by

Sachin Sharma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Module 3 Notes

Uploaded by

Sachin Sharma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

Platform as a Service (PaaS):

What is it?
PaaS, or Platform-as-a-Service, is a cloud computing model that provides
customers a complete platform—hardware, software, and infrastructure for
developing, running, and managing applications without the cost, complexity and
inflexibility of building and maintaining that platform on-premises.
The PaaS provider hosts everything—servers, networks, storage,
operating system software, databases—at their data center; the customer uses it
all for a monthly fee based on usage and can purchase more resources on-
demand as needed. In this way, PaaS lets your development teams to build,
test, deploy, maintain, update and scale applications (and to innovate in
response to market opportunities and threats) much more quickly and less
expensively than they could if you had to build out and manage your own on-
premises platform.
Things to consider when choosing a PaaS provider
A few things to keep in mind when deciding on a PaaS solution:
What features are included? Can your app work successfully with them? As
your app grows and develops, adding more and more users, you want to make
sure you can scale easily with your provider and have the options you need
available.
Is it optimized for the language and framework you’re using? If not, runtimes
could be an issue.
Will the provider be around as long as you need them? You want to make sure
your provider has a history of trust and reliability with its customers so you know
they’ll be there for you.
How many users do you anticipate will be using your app? The more users, and
the more specific the code, the slower your application could run and the more
difficult it will be to migrate from one service provider to another, should you need
to.
Types of PaaS
Stand Alone Application Platforms
– Typically built on top of an existing IaaS
– Provides development tools for designing and deploying software.
– Provide all required computing resources and services needed for
hosted applications

Social Application Development Platforms


– Used to develop internal applications for social websites like Google+
and Facebook.
– Integrated API with the social website platform.
– Can be seen as extending a SaaS
Open-Computing Platforms
– Not tied to a single IaaS provider.
– Supports applications that are written in numerous languages and that
use any type of database, operating system, and server.

Benefits
The following are some specific advantages your organization can realize from
utilizing PaaS:
Faster time to market: With PaaS, there’s no need to purchase and install the
hardware and software you’ll use to build and maintain your application
development platform and no need for development teams to wait while you do
this. You simply tap into the cloud service provider’s PaaS resources and begin
developing immediately.
Faster, easier, less-risky adoption of a wider range of resources: PaaS
platforms typically include access to a greater variety of choices up and down the
application development stack—operating systems, middleware, and databases,
and tools such as code libraries and app components—than you can affordably
or practically maintain on-premises. It also lets you test new operating systems,
languages, and tools without risk—that is, without having to invest in the
infrastructure required to run them.
Easy, cost-effective scalability: If an application developed and hosted on-
premises starts getting more traffic, you’ll need to purchase more computing,
storage, and even network hardware to meet the demand, which you may not be
able to do quickly enough and can be wasteful (since you typically purchase
more than you need). With PaaS, you can scale on-demand by purchasing just
the amount of additional capacity you need.
Lower costs: Because there’s no infrastructure to build, your upfront costs are
lower. Costs are also lower and more predictable because most PaaS providers
charge customers based on usage.

Use cases
There are many use cases for PaaS, including the following popular application-
based ones:
API development and management: You can use PaaS to develop, run,
manage, and secure application programming interfaces (APIs) and micro
services.
Internet of Things (IoT): PaaS can support the broad range of application
environments, programming languages, and tools used for IoT deployments.
Business analytics/intelligence: PaaS tools allow you to analyze your data to
find business insights that enable more informed business decisions and
predictions.

Google App Engine


Google App Engine is an application hosting and development platform that
powers everything from enterprise web applications to mobile games, using the
same infrastructure that powers Google’s global-scale web applications.
Google App Engine makes it easy to take your app ideas to the next level.
 Quick to start With no software or hardware to buy and maintain, you can
prototype and deploy applications to your users in a matter of hours.
 Simple to use Google App Engine includes the tools you need to create,
test, launch, and update your apps.
 Rich set of APIs Build feature-rich services faster with Google App
Engine’s easy-to-use APIs.
 Immediate scalability There’s almost no limit to how high or how quickly
your app can scale.
 Pay for what you use Get started without any upfront costs with App
Engine’s free tier and pay only for the resources you use as your
application grows.
Worry-free hosting
Google App Engine uses the same proven, global infrastructure and advanced
technology that hosts other Google apps, automatically delivering seamless
scalability. Worrying about server configuration and load balancing becomes a
thing of the past, as our reliability experts handle monitoring the system for you.

Simple development in Python, Java, and Go


GAE offers support python version 2.5 or 2.7, java version 5 or 6 and google go
version 1.
With the GAE SDK developers have everything they need to build and test
their applications locally with simulated versions of App Engine’s built-in services,
taking the hassle out of setting up test environments.
High-availability NoSQL and SQL service
The built-in High Replication Data Store (HRD) No SQL service can store
hundreds of terabytes of data with at least three independent replication sites,
low-cost scalability, high transactional capabilities, a powerful query engine and
no setup or configuration required.
Rich set of APIs and Services
Google App Engine has many built-in APIs and services that let developers
quickly build robust apps with rich functionality including
 Logs, Durable loging and programmatic access to application logs.
 App Engine Map Reduce, for data processing and transformation
 Search API, easily create and query indexes from your application’s data
 SSL support to your application
 Page Speed Service, optimize your application for speed and performance
 Google Cloud Endpoints, expose your application’s services and data to
mobile clients
 XMPP(Extensible Messaging and Presence Protocol) API, send and receive
instant messages
 Channel API, establish browser channels for instant updates to users
 Memory cache API, provide temporary, high-speed data access through a
high-performance memory cache
 Users API, authenticate users through Google Accounts or OpenID
Database Service
Cloud SQL for MySQL
Features
Fully managed MySQL Community Edition databases in the cloud.

Cloud SQL instances support MySQL 8.0, 5.7 (default), and 5.6, and provide up
to 416 GB of RAM and 30 TB of data storage, with the option to automatically
increase the storage size, as needed.
Create and manage instances in the Google Cloud Console.

Instances available in US, EU, Asia, and Australia.


Customer data encrypted on Google's internal networks and in database tables,
temporary files, and backups.
Support for secure external connections with the Cloud SQL Proxy or with the
SSL/TLS protocol.
Support for private IP (private services access).
Data replication between multiple zones with automatic failover.
Import and export databases using mysqldump, or import and export CSV files.

Support for MySQL wire protocol and standard MySQL connectors.


Automated and on-demand backups, and point-in-time recovery.
Instance cloning.
Integration with Google Cloud's operations suite logging and monitoring.

Cloud SQL for PostgreSQL


Features
Fully managed PostgreSQL databases in the cloud.
Custom machine types with up to 624 GB of RAM and 96 CPUs.
Up to 30 TB of storage available, with the ability to automatically increase
storage size as needed.
Create and manage instances in the Google Cloud Console.

Instances available in US, EU, Asia, and Australia.


Customer data encrypted on Google's internal networks and in database tables,
temporary files, and backups.
Support for secure external connections with the Cloud SQL Proxy or with the
SSL/TLS protocol.
Data replication between multiple zones with automatic failover.
Import and export databases using SQL dump files.
Support for PostgreSQL client-server protocol and standard PostgreSQL
connectors.
Automated and on-demand backups.
Instance cloning.
Integration with Google Cloud's operations suite logging and monitoring.
Support for multiple PostgreSQL versions.

Cloud SQL for SQL Server


Features
Fully managed SQL Server databases in the cloud.
Custom machine types with up to 624 GB of RAM and 96 CPUs.
Up to 30 TB of storage available, with the ability to automatically increase
storage size as needed.
Create and manage instances in the Google Cloud Console.

Instances available in US, EU, Asia or Australia.


Customer data encrypted on Google's internal networks and in database tables,
temporary files, and backups.
Support for secure external connections with the Cloud SQL Proxy or with the
SSL/TLS protocol.
Import databases using BAK and SQL files.
Export databases using BAK files.
Automated and on-demand backups.
Instance cloning.
Integration with Stack driver logging and monitoring.
SQL Server Agent enabled to facilitate replication and other jobs.
Set a default collation for databases, when creating an instance.

Microsoft Azure
Application
Azure App Service
Azure App Service is an HTTP-based service for hosting web applications, REST
APIs, and mobile back ends. You can develop in your favourite language, be it
.NET, .NET Core, Java, Ruby, Node.js, PHP, or Python. Applications run and
scale with ease on both Windows and Linux-based environments.
Why use App Service?
Here are some key features of App Service:
Multiple languages and frameworks- App Service has first-class support
for ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP, or Python.
Managed production environment - App Service automatically patches
and maintains the OS and language frameworks. Spend time writing great
apps and let Azure worry about the platform.
Containerization and Docker - Dockerize the app and host a custom
Windows or Linux container in App Service. Run multi-container apps with
Docker Compose. Migrate your Docker skills directly to App Service.
DevOps optimization - Set up continuous integration and deployment with
Azure DevOps, GitHub, BitBucket, Docker Hub, or Azure Container
Registry. Promote updates through test and staging environments. Manage
the apps in App Service by using Azure PowerShell or the cross-platform
command-line interface (CLI).
Global scale with high availability – Scale up or out manually or
automatically. Host the apps anywhere in Microsoft's global data center
infrastructure, and the App Service SLA promises high availability.
Connections to SaaS platforms and on-premises data - Choose from
more than 50 connectors for enterprise systems (such as SAP), SaaS
services (such as Salesforce), and internet services (such as Facebook).
Access on-premises data using Hybrid Connections and Azure Virtual
Networks.
Security and compliance - App Service is ISO, SOC, and PCI compliant.
Authenticate users with Azure Active Directory, Google, Facebook, Twitter,
or Microsoft account. Create IP address restrictions and manage service
identities.
Application templates - Choose from an extensive list of application
templates in the Azure Marketplace such as WordPress, Joomla and
Drupal.
Visual Studio and Visual Studio Code integration - Dedicated tools in
Visual Studio and Visual Studio Code streamline the work of creating,
deploying, and debugging.
API and mobile features - App Service provides turn-key CORS support
for RESTful API scenarios, and simplifies mobile app scenarios by enabling
authentication, offline data sync, push notifications and more.
Serverless code - Run a code snippet or script on-demand without having
to explicitly provision or manage infrastructure, and pay only for the compute
time your code actually uses.

Database
Azure Database for MySQL
Azure Database for MySQL is a relational database service in the Microsoft cloud
based on the MySQL Community Edition database engine, versions 5.6, 5.7, and
8.0. Azure Database for MySQL delivers:
Built-in high availability.
Data protection using automatic backups and point-in-time-restore for up to
35 days.
Automated maintenance for underlying hardware, operating system and
database engine to keep the service secure and up to date.
Predictable performance, using inclusive pay-as-you-go pricing.
Elastic scaling within seconds.
Cost optimization controls with ability to stop/start server.
Enterprise grade security and industry-leading compliance to protect
sensitive data at-rest and in-motion.
Monitoring and automation to simplify management and monitoring for
large-scale deployments.
Industry-leading support experience.
Network
Azure Application Gateway is a web traffic load balancer that enables you to
manage traffic to your web applications. Traditional load balancers operate at the
transport layer (OSI layer 4 - TCP and UDP) and route traffic based on source IP
address and port, to a destination IP address and port.
Application Gateway can make routing decisions based on additional attributes of
an HTTP request, for example URI path or host headers. For example, you can
route traffic based on the incoming URL. So if /images is in the incoming URL,
you can route traffic to a specific set of servers (known as a pool) configured for
images. If /video is in the URL, that traffic is routed to another pool that's
optimized for videos.
Storage
Azure storage offers different access tiers, which allow you to store blob object
data in the most cost-effective manner. The available access tiers include:
Hot - Optimized for storing data that is accessed frequently.

Cool - Optimized for storing data that is infrequently accessed and stored
for at least 30 days.
Archive - Optimized for storing data that is rarely accessed and stored for
at least 180 days.
The following considerations apply to the different access tiers:
Only the hot and cool access tiers can be set at the account level. The
archive access tier isn't available at the account level.
Hot, cool, and archive tiers can be set at the blob level during upload or
after upload.
Data in the cool access tier can tolerate slightly lower availability, but still
requires high durability, retrieval latency, and throughput characteristics
similar to hot data. For cool data, a slightly lower availability service-level
agreement (SLA) and higher access costs compared to hot data are
acceptable trade-offs for lower storage costs.
Archive storage stores data offline and offers the lowest storage costs but
also the highest data rehydrate and access costs.
Data stored in the cloud grows at an exponential pace. To manage costs for your
expanding storage needs, it's helpful to organize your data based on attributes
like frequency-of-access and planned retention period to optimize costs. Data
stored in the cloud can be different based on how it's generated, processed, and
accessed over its lifetime. Some data is actively accessed and modified
throughout its lifetime. Some data is accessed frequently early in its lifetime, with
access dropping drastically as the data ages. Some data remains idle in the
cloud and is rarely, if ever, accessed after it's stored.
Each of these data access scenarios benefits from a different access tier that is
optimized for a particular access pattern. With hot, cool, and archive access tiers,
Azure Blob storage addresses this need for differentiated access tiers with
separate pricing models.
Software as a Service (SaaS)
Definition: Software as a Service (SaaS), also known as on demand software, is
a software delivery model in which software and its associated data are hosted
centrally and accessed using a thin-client, usually a web browser over the
internet. – Wikipedia
Business Perspective
SaaS has a lot of appeal to businesses. Here are a few reasons why:
• Multi-tenant software architecture
• Low cost, fast investment, shared license
• High manageability
• Free of deployment and support
• Cost-effective: pay as we go
• Customization is easy
• Can scale well – commercialization.
Advantages of SaaS
 Easy to use – Most SaaS applications do not require more than a web
browser to run
 Cheap- The pay as you go pricing model of SaaS makes it affordable to
small businesses and individuals.
 Scalability: SaaS application can be easily scaled up or down to meet
consumer demand. Consumers do not need to worry about additional
computing infrastructure to scale up.
 Applications are less prone to data loss since data is being stored in the
cloud.
 Compared to traditional applications, SaaS applications are less clunky.
They do not require users to install/uninstall binary code on their machines
 Due to the delivery nature of SaaS through the internet, SaaS applications
are able to run on a wide variety of devices.
 Allows for better collaboration between teams since the data is stored in a
central location.
 Velocity of change in SaaS applications is much faster.

 SaaS favours an Agile development life cycle.


• Software changes and frequent and on-demand. Most Saas services are
updated about every 2 weeks and users are most time unaware of these
changes.
Disadvantages of SaaS
Robustness:
• SaaS software may not be as robust (functionality wise) as traditional
software applications due to browser limitations. Consider Google Doc &
Microsoft Office.
Privacy:
• Having all of a user’s data sit in the cloud raises security & privacy
concerns. SaaS providers are usually the target of hack exploits e.g.
Google servers have been the target of exploits purportedly from China in
the last several years
Security:
• Attack detection, malicious code detection

Reliability:
• In the rare event of a SaaS provider going down, a wide range of
dependent clients could be affected. For example, when Amazon EC2
service went down in April 2011, it took down FourSquare, Reddit etc.

Service Oriented Architecture (SOA)


Definition: Service Oriented Architecture (SOA) is a business-centric IT
architectural approach that supports integrating your business as linked,
repeatable business tasks, or services.-IBM
It is important to note that SOA is not a product but is an architectural style.
Service oriented architecture (SOA) is an approach used to create an
architecture based upon the use of services that can be reused in multiple
applications as shown in figure.

Service Oriented Architecture (SOA) has been a point of argument among


enterprise architects, solution architects and application architects. Enterprise
architects view SOA as a business initiative and how they relate to the business
goals and mission. Solution architects view SOA as a means to deliver solutions
faster using services which enable faster construction. Finally, application
architects see SOA as an infrastructure on which to deliver applications based on
service interfaces. SOA, as implemented through the common web Services
standards.

Components of SOA
Many organizations are transforming to utilize a service oriented architecture
after seeing its benefits of increased agility and reduces cost. Figure shows SOA
framework for providing efficient IT infrastructure.

SOA Governance
It is the definition and implementation of enterprise-wide policies for activities,
like:
 proposing and developing new services
 modifying existing services
 retiring old services after their life cycle
 Access of services to third parties
 Publishing and reuse of services
 Monitoring the progress SOA.
SOA Service Management:
It is the second key management process. SOA governance is concerns how
services are created and how they work, while service management also deals
with what happens when error occurs. Policies must specify who is responsible
foe reporting and resolving errors.
SOA quality management:
SOA quality management makes sure that the services that are created meet
their requirements of business and can be trusted.
Benefits and risks of SOA
SOA brings with it a number of key benefits and risks that should be examined by
any leadership team while considering a realignment of its enterprise computing
IT portfolio, which includes:
Language-neutral integration:
The web Services standards use extensible Markup Language (XML) which is
focused on the creation and consumption of delimited text, regardless of the
development language used. Programming language neutrality is a key
differentiator from previous integration approaches.
Component reuse:
In current web Service technology, once an organization has built a software
component and offered it as a service, the rest of the organization can then
utilize that service.
Leveraging existing systems:
One common use of SOA is to define elements or functions of existing
application systems and make them available to the enterprise, leveraging the
substantial investment already made in existing applications. The most
compelling business case for SOA is often made regarding leveraging this legacy
investment, enabling integration between new and old systems components.
Dependence on the network:
SOA is fundamentally dependent on the network to connect the service provider
with the consumer. For example, web Service protocols are dependent on
internet protocols to invoke software functions distributed across the network.
Poorly performing networks can make a large impact on the availability of web
Services to the consumer.

Provider costs:
Creating a generic reusable software component for abroad audience takes more
resources than creating a less generic point solution. The cost of reuse,
therefore, shifts to the service providers, which benefits the consumers.
Enterprise standards:
When many components are being simultaneously developed by individual
teams, it becomes critical for the interface of a service to match up to the “call” of
a consumer. Similarly, it helps everyone involved, if the interfaces across services
have something common in structure and security access mechanisms.
Choosing and communicating a comprehensive set of enterprise standards is a
responsible approach to aid in enterprise SOA integration.

Agility:
When we discuss “agility”, it refers to organizational agility, or the ability of
adapting an organization’s tools to meet their current requirements. An
organization’s requirements might change over time, e.g. changes in the
business or mission, reporting requirements, changes in the law etc. The larger
promise of an enterprise SOA is that once a legacy-wrapped components exist,
and are accessible on the wide area network (WAN), they can be reassembled to
solve new problems.

Cloud Computing and SOA:


Both cloud computing and SOA share the concepts of service orientation.
Services are available on a common network, Cloud computing focuses on
turning aspects of the IT computing stack into commodities that can be
purchased from the cloud providers. For example, large-scale online storage can
be supplied and automatically allocated in terabyte from the cloud. Similarly, a
platform to operate web-based applications can be provided from redundant data
centers in the cloud. However, cloud computing is currently a broader term than
SOA and covers the entire stack from hardware through the presentation layer
software systems.
For successful cloud implementation, a solid service-orientated
architecture is required. SOA provides a backbone that allow both front-end
application user and enterprise back-end servers to easily access cloud services.
With SOA already in place, cloud computing will be easier, faster and more
secure. Together SOA and cloud can provide a complete services-based
solution.

Web Services
Web services are XML-based information exchange systems that use the
Internet for direct application-to-application interaction. These systems can
include programs, objects, messages, or documents.

To summarize, a complete web service is, therefore, any service that:


Is available over the Internet or private (intranet) networks
Uses a standardized XML messaging system
Is not tied to any one operating system or programming language
Is self-describing via a common XML grammar
Is discoverable via a simple find mechanism

Components of Web Services


The basic web services platform is XML + HTTP. All the standard web services
work using the following components:
SOAP (Simple Object Access Protocol)
UDDI (Universal Description, Discovery and Integration)
WSDL (Web Services Description Language)

How Does a Web Service Work?


A web service enables communication among various applications by using open
standards such as HTML, XML, WSDL, and SOAP. A web service takes the help
of:
XML to tag the data
SOAP to transfer a message
WSDL to describe the availability of service.
Example
Consider a simple account-management and order processing system. The
accounting personnel use a client application built with Visual Basic or JSP to
create new accounts and enter new customer orders.
The processing logic for this system is written in Java and resides on a Solaris
machine, which also interacts with a database to store information. The steps to
perform this operation are as follows:
The client program bundles the account registration information into a SOAP
message.
This SOAP message is sent to the web service as the body of an HTTP POST
request.
The web service unpacks the SOAP request and converts it into a command
that the application can understand.
The application processes the information as required and responds with a
new unique account number for that customer.
Next, the web service packages the response into another SOAP message,
which it sends back to the client program in response to its HTTP request.
The client program unpacks the SOAP message to obtain the results of the
account registration process.

Benefits of using Web Services


Exposing the Existing Function on the Network
A web service is a unit of managed code that can be remotely invoked using
HTTP. That is, it can be activated using HTTP requests. Web services allow you
to expose the functionality of your existing code over the network. Once it is
exposed on the network, other applications can use the functionality of your
program.
Interoperability
Web services allow various applications to talk to each other and share data and
services among themselves. Other applications can also use the web services.
For example, a VB or .NET application can talk to Java web services and vice
versa. Web services are used to make the application platform and technology
independent.

Standardized Protocol
Web services use standardized industry standard protocol for the
communication. All the four layers (Service Transport, XML Messaging, Service
Description, and Service Discovery layers) use well-defined protocols in the web
services protocol stack. This standardization of protocol stack gives the business
many advantages such as a wide range of choices, reduction in the cost due to
competition, and increase in the quality.
Low Cost Communication
Web services use SOAP over HTTP protocol, so you can use your existing low-
cost internet for implementing web services. This solution is much less costly
compared to proprietary solutions like EDI/B2B. Besides SOAP over HTTP, web
services can also be implemented on other reliable transport mechanisms like
FTP.

Characteristics of Web Services


XML-Based
Web services use XML at data representation and data transportation layers.
Using XML eliminates any networking, operating system, or platform binding.
Web services based applications are highly interoperable at their core level.
Loosely Coupled
A consumer of a web service is not tied to that web service directly. The web
service interface can change over time without compromising the client's ability to
interact with the service. A tightly coupled system implies that the client and
server logic are closely tied to one another, implying that if one interface
changes, the other must be updated. Adopting a loosely coupled architecture
tends to make software systems more manageable and allows simpler
integration between different systems.
Ability to be Synchronous or Asynchronous
Synchronicity refers to the binding of the client to the execution of the service. In
synchronous invocations, the client blocks and waits for the service to complete
its operation before continuing. Asynchronous operations allow a client to invoke
a service and then execute other functions. Asynchronous clients retrieve their
result at a later point in time, while synchronous clients receive their result when
the service has completed. Asynchronous capability is a key factor in enabling
loosely coupled systems.
Supports Remote Procedure Calls (RPCs)
Web services allow clients to invoke procedures, functions, and methods on
remote objects using an XML-based protocol. Remote procedures expose input
and output parameters that a web service must support.
Supports Document Exchange
One of the key advantages of XML is its generic way of representing not only
data, but also complex documents. These documents can be as simple as
representing a current address, or they can be as complex as representing an
entire book or Request for Quotation (RFQ). Web services support the
transparent exchange of documents to facilitate business integration.
Architecture
There are two ways to view the web service architecture:
The first is to examine the individual roles of each web service actor.
The second is to examine the emerging web service protocol stack.
1. Web Service Roles
There are three major roles within the web service architecture:
Service Provider This is the provider of the web service. The service provider
implements the service and makes it available on the Internet.
Service Requestor This is any consumer of the web service. The requestor
utilizes an existing web service by opening a network connection and sending an
XML request.
Service Registry This is a logically centralized directory of services. The registry
provides a central place where developers can publish new services or find
existing ones. It therefore serves as a centralized clearing house for companies
and their services.

2. Web Service Protocol Stack


A second option for viewing the web service architecture is to examine the
emerging web service protocol stack. The stack is still evolving, but currently has
four main layers.
Service Transport This layer is responsible for transporting messages between
applications. Currently, this layer includes Hyper Text Transport Protocol (HTTP),
Simple Mail Transfer Protocol (SMTP), File Transfer Protocol (FTP), and newer
protocols such as Blocks Extensible Exchange Protocol (BEEP).
XML Messaging This layer is responsible for encoding messages in a common
XML format so that messages can be understood at either end. Currently, this
layer includes XML-RPC and SOAP.
Service Description This layer is responsible for describing the public interface
to a specific web service. Currently, service description is handled via the Web
Service Description Language (WSDL).
Service Discovery This layer is responsible for centralizing services into a
common registry and providing easy publish/find functionality. Currently, service
discovery is handled via Universal Description, Discovery, and Integration
(UDDI). As web services evolve, additional layers may be added and additional
technologies may be added to each layer.

Component of Web Services


Over the past few years, three primary technologies have emerged as worldwide
standards that make up the core of today's web services technology. These
technologies are discussed below.
XML-RPC
This is the simplest XML-based protocol for exchanging information between
computers.
XML-RPC is a simple protocol that uses XML messages to perform RPCs.
Requests are encoded in XML and sent via HTTP POST.
XML responses are embedded in the body of the HTTP response.
XML-RPC is platform-independent.
XML-RPC allows diverse applications to communicate.
A Java client can speak XML-RPC to a Perl server.
XML-RPC is the easiest way to get started with web services.
SOAP
SOAP is an XML-based protocol for exchanging information between computers.
SOAP is a communication protocol.
SOAP is for communication between applications.
SOAP is a format for sending messages.
SOAP is designed to communicate via Internet.
SOAP is platform independent.
SOAP is language independent.
SOAP is simple and extensible.
SOAP allows you to get around firewalls.
SOAP will be developed as a W3C standard.

WSDL
WSDL is an XML-based language for describing web services and how to access
them.
WSDL stands for Web Services Description Language.
WSDL was developed jointly by Microsoft and IBM.
WSDL is an XML based protocol for information exchange in decentralized and
distributed environments.
WSDL is the standard format for describing a web service.
WSDL definition describes how to access a web service and what operations it
will perform.
WSDL is a language for describing how to interface with XML-based services.
WSDL is an integral part of UDDI, an XML-based worldwide business registry.
WSDL is the language that UDDI uses.
WSDL is pronounced as 'wiz-dull' and spelled out as 'W-S-D-L'
UDDI
UDDI is an XML-based standard for describing, publishing, and finding web
services.
UDDI stands for Universal Description, Discovery, and Integration.
UDDI is a specification for a distributed registry of web services.
UDDI is platform independent, open framework.
UDDI can communicate via SOAP, CORBA, and Java RMI Protocol.
UDDI uses WSDL to describe interfaces to web services.
UDDI is seen with SOAP and WSDL as one of the three foundation standards
of web services.
UDDI is an open industry initiative enabling businesses to discover each other
and define how they interact over the Internet.

Web 2.0
Web 2.0 refers to the development of the online services that encourage
collaboration, communication and information sharing. It represents a shift from
the passive experience of static “read only” web pages to the participatory
experience of dynamic and interactive web pages. A key elements of technology
is that it allows people to create, share, collaborate and communicate.
Service Type: Social networking, video and photo sharing, blogging, wikis

Why use web 2.0?


Web 2.0 services are increasingly becoming embedded in many areas of life as
more people from teenagers to national government recognize and harness
these powerful communication tools.
i. They support collaboration across time and space.
ii. They are easily accessible and easy to use.
iii. They are low cost
iv. They do not required much IT support
Web 2.0 tools and their features

Major features of Web 2.0 allow users to collectively classify and find dynamic
information that flows two ways between site owner and site user by means of
evaluation, comments, and reviews. Site users can add content for others to see.
Features of Web 2.0
1.Free sorting of information, permits users to retrieve and classify the
information collectively.
2.Dynamic content that is responsive to user input.
3.Information flows between site owner and site users by means of evaluation &
online commenting.
4.Developed APIs to allow self-usage, such as by a software application.
5.Web access leads to concern different, from the traditional Internet user base
to a wider variety of users.
Advantages of Web 2.0
Available at any time, any place.
Variety of media.
Ease of usage.
Learners can actively be involved in knowledge building.
Can create dynamic learning communities.
Everybody is the author and the editor, every edit that has been made can be
tracked.
User-friendly.
Updates in the wiki are immediate and it offers more sources for researchers.
It provides real-time discussion.
Comparison of Web 1.0 and Web 2.0

WEB 1.0 WEB 2.0

Mostly Read-Only Widely Read-Write

Company Focus Community Focus

Home Pages Blogs / Wikis

Owning Content Sharing Content

Web Forms Web Applications

Directories Tagging

Page Views Cost Per Click

Banner Advertising Interactive Advertising

Britannica Online Wikipedia

HTML/Portals XML / RSS

You might also like