Semantic classification about information system architecture related concepts


Table of Contents

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)



1. Agents

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



2. Processes

process_related_to_information_system_architecture  < process,
 > (Java_based_web_service_design
      tool: Java_software_to_design_a_web_service
   )__[pm];   



3. Descriptions

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; 


3.2. Architectures

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)
                 (unconstrained_three-tier_architecture
                   > (Model-View-Controller_architecture  design_pattern: MVC_design_pattern)
                     Presentation-Abstraction-Control_architecture
                     (genuine_three-tier_architecture
                        annotation: "communications should not occur directly between the 
                          'Presentation tier' (e.g., 'Client'; 'View' in the MVC terminology) 
                          and the 'Data tier' (e.g., DBMS of a 'Server'; 'Model' in MVC)
                          but should go via the 'Application tier' (of the Server; 'Controller'
                          in the MVC terminology)" )
                 )
               }
               (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: inteface_definition/description_language____IDL
                    ))
       )
   );


3.2. Principles or Patterns

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


3.3. Protocols

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]   CLI __[pm]
    );


3.4. Languages

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


3.5. Software (e.g., APIs)

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