Related
At the current stage, market is more demanding on new technologies over legacy technologies like (Routing/Switching). Though the core value will be there but the opportunity will be less in Routing/Switching. As all these technologies are quite new(except Open stack), so no body sure of which one will be successful in terms of business. I would like to hear which one have a better future ? Is it the virtualization or AVB/TSN, which one should I choose ?
I don't have deep knowledge for AVB/TSN however I would say that SDN/NFV is the basis of new gen 5G technology.
Telecommunication market is growing swiftly and it demands fast and deterministic features for each evolution.In addition all stakeholders want to have benefits of innovation with less effort.
Imagine you have telecom company and you have lots servers and switches. As you know these components require maintanence and upgrade. Each action you take for this flow equals to money which hurts companies every time. Therefore if there is a network infrastructure that you develop you don't need to pay providers this much for each action. You gather only server and switches or even you can produce then you manage your own network on software level.Moreover security is on your hand from that moment as well.
I believe that this will decrease operational cost of companies hugely.
What is the difference between Daas Data as Service and EAI Enterprise Application Integration ?
I understand that EAI is a framework designed to overcome the complexities of Enterprise Software integration (between ERP, SCM, CRM etc..) using ESB Enterprise Service Bus,
Would like to know where DAAS fits in the picture ?
Would also like to understand the difference between EAI and SOA
Data as a Service (DaaS) gives access to data or content collected and provided by some external service provider. Examples include post area codes, geospatial data, customer address data, market prices, economic trends, exchange rates, stock quotes and bank codes.
Enterprise Application Integration (EAI) is a general term which describes that applications in a (big) company are connected via a centralized facility rather than via a variety of proprietary point-to-point interfaces. To access a DaaS service, an application could use an EAI platform.
Applications can benefit from standardized EAI integration functions (connectivity, routing, data transformation, logging, monitoring, security, error handling ...) and do not have to implement these in themselves. Support and operation might also be more economic compared to point-to-point integration.
SOA as Service-oriented Architecture is a special architecture for integration. Rather than providing and consuming services, one could also send and receive messages or use a database as central information hub.
I've been thinking about this idea and wanted to know if it's been implemented commercially. Just like there are (external) domain-specific programming languages (where instead of the int's and string's and classes you have business-specific entities and functions that are the primitive types in the language syntax/semantics), is there such a thing as a domain-specific enterprise service bus where instead of routing, orchestrating, and integrating different systems through standard protocols (SOAP/HTTP, JMS, JDBC...etc), you're actually working at more abstract layer of integrating commercial systems (in a specific industry) via their communication protocols? I'm wondering if this pattern has been used as a product for integrating different systems (of different domain standards) within a specific industry (e.g. healthcare, automotive).
Example, in healthcare. You have a central bus that commercial healthcare applications plug into and communicate to each other, get orchestrated, monitored through protocols like HL7, HIE, CCD...etc where the activities, integration, and workflows done through the bus are authored by business analysts (instead of IT staff), example: health quality officers at a hospital, clinical analysts, physicians....etc
Yes, there are many such custonized ESBs, e.g.
BridgeLink
by ISGN is a product for Real Estate Mortgage Domain.
JBoss ESB allows for the customization of transports. There is also the Redhat supported version in SOA-P
IBM has had that for years (and others like Microsoft and Oracle). It's called IBM WebSphere Transformation Extender product http://www-01.ibm.com/support/docview.wss?uid=swg27008337. They have it for several of industries.
In healthcare, this type of integration middleware is called Interface engine.
This is because this type of products are traditionally used by health IT vendors to expose standard-oriented interfaces such as HL7 messaing interfaces.
Consider a EHR vendor, who does not have HL7 expert to implement the interfaces but still wants to integrate with other systems using HL7 or IHE profiles. With an interface engine, along with the expertise provided by their service, the vendor can convert their database interface or SOAP interfaces into standard HL7 interfaces easily.
The market has several players, such as Corepoint, Ensemble, Mirth, etc.
However, these tools are quite focused on the technical level issues, including connecting endpoints, transforming data formats, and routing messages between interfaces, as what you can expect from an ESB. I don't think they are meant to be used by business analysts.
I am learning Computer Networking this semester, on which I find it quite interesting in learning why Internet is designed like today. And I also enjoy reading paper referred to in the teaching slides, like End-to-End Argument in System Design and The Design Philosophy of the DARPA Internet Protocols.
Could you recommend some other interesting paper/articles to me, especially those related to higher layers like TCP/IP protocols?
Many thanks for your reply.
Roy Thomas Fielding wrote his dissertation at UCI about Architectural Styles and
the Design of Network-based Software Architectures (2000), which has more focus on applications in a networked environment; but I would recommend it, since it's related to your request about learning why Internet is designed like today.
Link: Architectural Styles and the Design of Network-based Software Architectures
Generally, the books by Andrew Tanenbaum are worth reading. They are normally used as standard lecture in networking courses.
On the other hand, they are rather basics.
One classic book is "Interconnections 2nd edition" by Radia Perlman.
Another very good one is "Routing in the Internet" by Christian Huitema.
If you are serious about learning how the Internet works, you also need to know about BGP. A decent introduction is "BGP4 Inter-Domain Routing in the Internet" by John Stewart.
A more advanced topic is MPLS. A very good book on this is "MPLS-Enabled Applications" by Ina Minei and Julian Lucek.
Another more advanced topic is multicast. I could recommend "Interdomain Multicast Routing" by Brian Edwards and others.
The books published by Cisco press tend to be good (although obviously vendor-specific) if you are interested in more practical details of how to configure network equipment.
Finally, "Unix Network Programming, Volume 1" by Richard Stevens is a must read if you want to do network programming.
http://www.cs.ucsb.edu/~almeroth/classes/F05.276/papers/vegas.pdf
I'm not sure if this is exactly what you were looking for, but there are some really interesting papers out there on peer-to-peer networking.
Some examples:
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications
Incentives Build Robustness in BitTorrent
Protecting Free Expression Online with Freenet
If you want an introduction to what (not why) the TCP/IP protocols are, a classic book is TCP/IP Illustrated, Volume 1: The Protocols.
Does anybody have an idea what SOA Governance is all about? What is the difference (or correlation) between SOA Governance and IT Governance? and How can it be applied using SOA platforms available in the market?
Can a project built on SOA platform be successful without applying SOA Governance? How? I am talking here from a practical point of view.
At its most basic, SOA Governance is about managing services. At its most base level, you might think about topics such as:
Managing the version of services - Service 1.0 is currently deployed, but now we've deployed Service 1.1. How do we redirect clients from the old service to the new one?
Giving services a lifecycle: a service is in 'development'. Now it's completed and been QAed, we'll want to transition it to 'production'. We need to have a way to add metadata to the service to indicate that - what if we want to remove our development services but keep our production ones running?
Obviously there are others - there is no hard-and-fast governance solution for any environment. The degree to which governance is necessary is a hot topic of debate.
Disclaimer: I work for IBM as a WebSphere consultant so my thoughts are influenced by that and the IBM product most often suggested as an answer to the above questions, WebSphere Service Registry and Repository.
SOA governance is a subset of IT governance where you focus on defining, delivering and enforcing IT governance rules using SOA. It is also organization wide, otherwise it is practically pointless except as an exercise.
IT Governance which is a subset of Corporate governance and should have at least a policy of providing Business Value in things that the company does.
Here's an example:
Provide Business Value (corporate policy)
by providing consistent quality of service (corporate policy)
by providing metrics for each procedure (IT governance)
by providing transaction times for each service operation (SOA governance)
As you drill down things get more technical and actually easier to enforce.
SOA/IT/Corporate governance is basically analogous to the law makers (those who define the rules), the judge/police (those who enforce the rules), the rest of us (those who deliver within the rules).
"have an idea what SOA Governance is all about?..."
Andrew Ferrier's response answers this question pretty well. Like any other asset (if you look at services that way), services governance is about controlling the asset. It's similar to code management except on an enterprise level and generally by the business. Access control, versioning, ownership, etc... are all concepts in this space.
"Can a project built on SOA platform be successful without applying SOA Governance?"
That will depend upon your definition of success. However, if you mean can you successfully deploy SOA into an enterprise without governance (with little to no regard on how the service will be managed after it's in production), the answer is a resounding "Yes". Just be aware that at some point in the future, a deployed service in an enterprise WILL eventually be discussed with respect to re-use, accessibility, and ownership (to name a few). That's where governance comes in and you will have to do it manually.
First, let's figure out What is Governance?
Governance is the process of ensuring that an organization's resource are utilized in a manner in which they contribute to the fulfillment of an organization's goal and it is done in a transparent and measurable manner.The resources can include both people , processes or other physical infrastructure.At the heart of Governance is the concept of controlling how decisions are made.There are a number of different types of Governance:
Corporate Governance
IT Governance
Architecture Governance
SOA Governance
SDLC Governance
Why has Governance become important?
The past decade has brought to light several corporate scandals that highlight the pitfalls when decisions are made without transparency and accountability. As an example in the late 90s the corporate IT departments initiated a number of IT projects based on the whimsical notion of staying on the bleeding edge without any clear motivation on how these projects would contribute to the business.
What are the building blocks of Governance?
Precepts
People
Processes
Metrics
To find more about what is SOA Governance, Please find this post.
References
Prentice.Hall.SOA.Governance.Governing.Shared.Services.On-Premise.and.in.the.Cloud.Apr.2011.ebookmf.com
SOA Governance in Action
Service-Oriented Architecture(SOA) Governance for the Services Driven Enterprise
See Service Oriented Architecture and SOA Governance for help.
Service-Oriented Architecture (SOA)
governance is a concept used for
activities related to exercising
control over services in an SOA. SOA
governance can be seen as a subset of
IT governance which itself is a subset
of Corporate governance. The focus is
on those resources to be leveraged for
SOA to deliver value to the business.
SOA needs a solid foundation that is
based on standards and includes
policies, contracts and service level
agreements. The business is expected
to be able to use services to build
and change the organisations business
process quickly. To do so, a degree of
granularity in the services available
will be required. Consequently an SOA
increases the need for good governance
as it will help assign decision-making
authorities, roles and
responsibilities and bring focus to
the organisational capabilities needed
to be successful.
Being an employee of a large enterprise, our SOA governance approach stewards the usage of internal standards such as leveraging a common message format, ensures that all WSDL produced meets security standards such as ensuring that all attributes have regular expressions attached to them for validation and aligns with our strategic business architecture.
SOA Governance can also be two-tiered. Often you spend your time on its internal aspects, but SOA was also meant to address these issues among partnered organizations that may be under entirely separate corporate/government "tents."
Internal stadnards must bend to the will of the larger Community, at least at points of interconnection.
From a practical point of view...
Does anybody have an idea what SOA Governance is all about?
It involves:
Defining design standards and governance infrastructure for services (e.g., SOAP and REST services). The governance infrastructure is mainly a service registry.
Establishing roles, responsibilities, and processes regarding the lifecycle of services. Example: a service custodian is responsible for adding a description of a new service to the service registry; a schema custodian will enforce the canonical schema design pattern.
Establishing a SOA Governance system, which is in practice a document with all governance directives. The document should be approved by upper mgmt (e.g., CIO).
What is the difference (or correlation) between SOA Governance and IT Governance?
IT governance is broader and spans from procurement of workstation to training software developers. SOA governance focuses on software services, such as SOAP and REST services. IT governance should encompass SOA governance, if the organization has adopted SOA.
How can it be applied using SOA platforms available in the market?
Platforms that support the development and execution of "SOA services" are necessary, of course, for creating and running SOAP and REST services. But the fact that you're creating SOAP or REST services doesn't mean you're following service orientation. Likewise, using ESBs or orchestration servers doesn't mean you're doing SOA the right way. Successful SOA is not only about technology, but also about governance and architecture (understanding and applying service orientation principles and SOA design patterns).
Can a project built on SOA platform be successful without applying SOA Governance?
Yes, it can! The main goal of SOA governance is to enable long-term benefits due to reuse, interoperability, standardization and other nice properties of services across applications. SOA governance helps your organization to have enterprise focus rather than application focus.