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) ) );