1. Agents 2. Processes, Tasks, Techniques and Methodologies 3. Descriptions 3.1. Architectures 3.2. Principles or Patterns 3.3. Protocols 3.3. Languages 3.4. Software (e.g., APIs)
agent_creator_of_information_system_architecture < agent,
> { (consortium_standardizing_information_system_architecture
< standardisation_organism __[pm],
> (W3C creator of: SOAP)
(object_management_group____OMG
creator of: DDS UML MDA, url: http://www.omg.org/,
successor of: Object-Data_Management_Group___ODMG __[pm])
(Open_Groupe
annotation: "ex Open Software Foundation(OSF) + X/Open" __[pm],
url: http://www.opengroup.org/ __[pm],
goal: "promoting open inter-operable systems" __[pm]
)__[pm]
ANSI __[pm] IEEE __[pm] ISO __[pm]
)
(company_creating_information_system_architecture
> (Microsoft creator of: XML_RPC)
(Userland_software creator of: XML_RPC)
(Orable url: http://www.oracle.com)
(Sun creator of: JDBC JDO)
)
};
process_related_to_information_system_architecture < process,
> (Java_based_web_service_design
tool: Java_software_to_design_a_web_service
)__[pm];
description_related_to_information_system_architecture < description,
> (information_system_architecture
> (network_architecture design_pattern: design_pattern_for_network_architecture)
(software_architecture design_pattern: software_design_pattern)
)
design_pattern_for_information_system
network_protocol
software_related_to_information_system_architecture;
information_system_architecture
_[url: http://en.wikipedia.org/wiki/Architectural_pattern_(computer_science)]
> (architecture_of_distributed_information_system //ex "network_architecture"
> (client_server_architecture
> (multi-tier_architecture____N-tier_architecture
> { (two-tier_architecture //add definitions here
> Model_architecture View_architecture Presenter_architecture
View-Model_architecture)
(three-tier_architecture
> (Model-View-Controller_architecture design_pattern: MVC_design_pattern)
Presentation-Abstraction-Control_architecture)
}
(service_related_architecture
> (web_service_related_architecture
url: http://en.wikipedia.org/wiki/Web_service,
specification: (WS-specification
> WS-Security WS-Reliability WS-Transaction
WS-Addressing),
> { (RESTful_web_service_architecture
name: "representationnal_state-transfert_based_architecture",
definition: "stateless client-server architecture in which the
web services are viewed as resources and can be
identified by their URLs",
url: http://en.wikipedia.org/wiki/Representational_State_Transfer,
protocol_usable_for_transport: HTTP __[any->0..1,
annotation: "REST was initially described in the context of
HTTP but any other Application Layer protocols can be used
if they already provide a rich and uniform vocabulary for
applications based on the transfer of meaningful
representational state; SOAP could theoretically be used"],
tool: JAX-WS __[any->0..1]
)
(RESTless_web_service_architecture
annotation: "SOAP and RPC reuse HTTP but, unlike REST, encourages
each application designer to define a new and arbitrary
vocabulary of nouns and verbs (for example getUsers(),
savePurchaseOrder(...)), usually overlaid onto the HTTP 'POST'
verb. This disregards many of HTTP's existing capabilities such
as authentication, caching, content type negotiation, etc. and
may leave the application designer re-inventing many of these
features within the new vocabulary",
> { (RPC-like_web_service_architecture
annotation: "the basic unit of RPC Web services is the
WSDL operation.",
problem: "RPC-like_web_service_architecture are not
loosely coupled since often implemented by
mapping services directly to language-specific
functions or method calls"
tool: RPC-like_software, // > RPC CORBA DCOM RMI ...
protocol_usable_for_transport: RPC-like_protocol
)
(SOA_architecture____service-oriented-architecture
url: http://en.wikipedia.org/wiki/Service-oriented_architecture,
annotation: "SOAs are loosely coupled since the basic unit
of communication is a message (a contract),
rather than an operation (an implementation)",
protocol_usable_for_transport: SOAP
)
}
))
))
(P2P_architecture___peer_to_peer_architecture > grid_computing)
blackboard_architecture layered_architecture pipe_and-filter_architecture
client_queue_client_architecture implicit-invocation_architecture
naked_objects_architecture
(style_of_middleware
> (DDS_style_of_middleware____data_distribution_service
part: (DDS_middleware_interface
> DLRL_middleware_interface____data_local_reconstruction_layer
DDS_domain_paticipant_factory //@@@@@
(DCPS_middleware_interface____data_centric_publish_subscribe
part: (DCPS_publisher dissemination: DCPS_subscriber)
DCPS_subscriber
(DCPS_topic_description
> DCPS_topic DCPS_content_filtered_topic
DCPS_multi_topic)
DCPS_data_writer DCPS_data_reader
),
commercial_version: real_time_innovations____RTI_DDS OpenSlice,
part: interactive_data_language___IDL
))
)
);
architectural_or_design_pattern_for_information_system
> (information_system_architectural_pattern
_[url: http://en.wikipedia.org/wiki/Architectural_pattern_(computer_science)]
principle of: information_system_architecture software_principle
)
(software_principle____software_framework
_[url: http://en.wikipedia.org/wiki/Software_framework]
principle of: software_design_pattern,
> (inversion_of_control_architectural_principle
implementation: dependency_injection_design_pattern)
Seeheim_model_architectural_principle
(CraigLarman#GRASP_principle
_[url: http://en.wikipedia.org/wiki/GRASP_(object-oriented_design),
name: "object oriented General Responsibility Assignment Software Pattern"],
> information_expert_principle creator_design_principle
factory_design_principle controller_design_principle
(evaluative_design_principle > low_coupling_design_principle
high_cohesion_design_principle)
polymorphism_design_principle pure_fabrication_design_principle
indirection_design_principle protected_variations_design_principle
)
)
(software_design_pattern
> (GoF#software_design_pattern _[url: http://en.wikipedia.org/wiki/Design_Patterns
http://fr.wikipedia.org/wiki/Patron_de_conception]
> (GoF#creational_software_design_pattern
> GoF#abstract_factory_design_pattern GOF#builder_design_pattern
GOF#factory_method_design_pattern GOF#prototype_design_pattern
GOF#singleton_design_pattern)
(GoF#structural_software_design_pattern
> GoF#adapter_design_pattern GOF#bridge_design_pattern
GOF#composite _design_pattern GOF#decorator_design_pattern
GOF#facade_design_pattern GOF#flyweight_design_pattern
GOF#proxy_design_pattern)
(GoF#behavioral_software_design_pattern
> GoF#chain_of_responsibility_design_pattern GOF#command_design_pattern
GOF#interpreter_design_pattern GOF#iterator_design_pattern
GOF#mediator_design_pattern GOF#memento_design_pattern
(blackboard_design_pattern > GOF#observer_design_pattern)
GOF#state_design_pattern
GOF#strategy_design_pattern GOF#template_method_design_pattern
GOF#visitor_design_pattern)
MVC_design_pattern
Martin_Fowler#optimistic_offline_lock_pattern
Martin_Fowler#pessimistic_offline_lock_pattern
dependency_injection_design_pattern
);
network_protocol < protocol,
> (protocol_not_vulnerable_to_man_in_the_middle_attack) //is there any ?
(protocol_without_firewall_problem > HTTP HTTPS) //are there others ?
{ (protocol_usable_for_transport
> (application_layer_protocol
> (application_layer_internet_protocol
> BGP DHCP DNS FTP GTP HTTP IMAP IRC Megaco MGCP NNTP NTP POP
RIP RTP RTSP SDP SIP SMTP SNMP SSH Telnet TLS/SSL XMPP
(application_layer_RPCorSOAP-like_protocol
> (RPC-like_protocol____remote_method_invocation_protocol
> (RPC_protocol application_layer_internet_protocol: HTTP)
(JRMP application_layer_internet_protocol:
any application_layer_internet_protocol))
(object_RPC____ORPC part: RPC))
(SOAP
url: http://en.wikipedia.org/wiki/SOAP,
protocol_usable_for_transport: (an application_layer_protocol
=_[any->0..1] HTTP SMTP),
representation_language: XML_SOAP,
implementation_language: Java Curl Delphi PHP .NET Flex,
annotation:
"- A SOAP client uses the UDDI registry to locate a Web service.
The client application builds a SOAP message, which is an
XML document capable of performing the desired
request/response operation.
- The client sends the SOAP message to a JSP or ASP page on a
Web server listening for SOAP requests.
- The SOAP server parses the SOAP package and invokes the
appropriate method of the object in its domain.
- The request object performs the indicated function and returns
data to the SOAP server, which packages the response in a
SOAP envelope. The server wraps the SOAP envelope in a
response object, such as a servlet or a COM object, which
is sent back to the requesting machine.
- The client receives the object, strips off the SOAP envelope
and sends the response document to the program originally
requesting it" __[pm]
))
))
(transport_layer_protocol
url: http://en.wikipedia.org/wiki/Transport_layer,
> (transport_layer_internet_protocol
> TCP UDP DCCP SCTP RSVP ECN OSPF
))
)
(internet_layer_protocol
> (IP > IPv4 IPv6) ICMP ICMPv6 IGMP IPsec
)
(link_layer_protocol
> (link_layer_internet_protocol
> ARP/InARP NDP (internet_tunnel_protocol > L2TP) PPP
(media_access_control_internet_protocol > Ethernet DSL ISDN FDDI)
))
}
(internet_protocol
url: http://en.wikipedia.org/wiki/Internet_Protocol_Suite,
> { application_layer_internet_protocol transport_layer_internet_protocol
internet_layer_protocol link_layer_internet_protocol }
)
(general_inter-ORB_protocol___GIOP
definition: "abstract protocol by which object request brokers (ORBs) communicate",
> (internet_Inter-Orb_protocol____ IIOP
definition: "implementation of GIOP for TCP/IP",
url: http://en.wikipedia.org/wiki/Internet_Inter-Orb_Protocol
))
(database_related_communication_protocol
> Remote_Data_Access____RDA __[pm] ODBC __[pm] JDBC __[pm]
);
representation_language_for_information_system_architecture
> (XML-based_representation_language_for_information_system_architecture
> XML_SOAP
(WSDL___Web_Services_Description_Language
url: http://en.wikipedia.org/wiki/Web_Services_Description_Language)
);
software_for_information_system_architecture < software,
> (software_with_interface_to_remote_database
> DRBA __[pm] EDA/SQL __[pm] IDAPI __[pm]
)__[pm]
(software_to_design_a_web_service
> (Java_software_to_design_a_web_service
> Java_API_for_XML_Processing____JAXP
Java_API_for_XML-based_RPC____JAX-RPC
SOAP_with_Attachments_API_for_Java____SAAJ
Java_API_for_XML_Registries____JAXR
Java_Architecture_for_XML_Binding____JAXB
)__[pm]
)
(RPC-like_software // > RPC CORBA DCOM RMI ...
> (RPC_like_software_whose-efficiency_is_linear_with_the_number_of_requests_logarithm
> XML_RPC)
(RPC-like_software_that_is_platform_independent
> CORBA JRMI)
(proprietary_RPC-like_software
> (Microsoft_proprietary_RPC-like_software
> DCOM))
(RPC_API___remote_procedure_call_API
> (Sun_RPC > ONC_RPC)
RPyC
(NCS > (DCE/RPC____distributed_computing_environment
version: (MS_RPC implementation of: DCOM))),
(XML_RPC
protocol_usable_for_transport: HTTP HTTPS SMTP,
implementation_language: PHP C++ java)
(DCE/RPC > Microsoft_RPC____MS_RPC)
)
(JRMI__Java_remote_method_invocation
implementation_language: Java,
transport_protocol: JRMP,
easier than: CORBA)
(RPC-like_software_that_is_also_an_object_request_broker
url: http://en.wikipedia.org/wiki/Object_request_broker,
service: ORB_interface_repository __[pm] ORB_Library_Object_Adapter __[pm]
ORB_Dynamic_Invocation_Interface ORB_Dynamic_Skeleton_Interface __[pm],
> (CORBA-like_software_using_GIOP
url: http://en.wikipedia.org/wiki/General_Inter-ORB_Protocol,
protocol: general_inter-ORB_protocol,
service _[pm]: naming_service event_service
lifecycle_service relationship_service
persistent object_service externalization_service
transaction_service, concurency_service
property_service query_service
security_service licensing_service,
> (RMI-IIOP____RMI_over_IIOP
url: http://en.wikipedia.org/wiki/RMI-IIOP,
protocol_usable_for_transport: IIOP __[any->1])
(CORBA___common_object_request_broker_architecture
url: http://en.wikipedia.org/wiki/CORBA,
part: IDC,
more expressif: DCOM
)
)
(DCOM____Distributed_Component_Object_Model
url: http://en.wikipedia.org/wiki/Distributed_Component_Object_Model
protocol: object_RPC, version: .NET,
goal: marshalling garbage_collecting)
)
);