Zum Inhalt springen

Service Component Architecture

aus Wikipedia, der freien Enzyklopädie
QS-Informatik
Beteilige dich an der Diskussion!
Dieser Artikel wurde wegen inhaltlicher Mängel auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen, und beteilige dich an der [[Wikipedia:Redaktion Informatik/Qualitätssicherung{{#if: {{#invoke:TemplUtl|faculty|Ja}} | /Knacknüsse}}#Service Component Architecture|Diskussion]]! ({{#ifeq:Wikipedia:Redaktion Informatik/Qualitätssicherung{{#ifeq: {{#invoke:TemplUtl|faculty|Ja}} | /Knacknüsse}}|Service Component Architecture|{{#switch:JA|JA=|NEIN=}}}}[[[:Vorlage:Neuer Abschnitt/URL]] +])

{{#if: Artikel ist wertend und erklärt das Lemma nicht. --Temporäres Interesse 13:43, 14. Sep. 2009 (CEST)|
Begründung: Artikel ist wertend und erklärt das Lemma nicht. --Temporäres Interesse 13:43, 14. Sep. 2009 (CEST)}}

Die Service Component Architecture (SCA) ist eine Sammlung an Spezifikationen, welche ein Modell einer Serviceorientierten Architektur (SOA) beschreiben. SCA basiert auf offenen Standards wie Web Services.<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20110411193109

      | {{#ifeq: 20110411193109 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Service Component Architecture Home | {{#invoke:WLink|getEscapedTitle|Service Component Architecture Home}} | {{#invoke:Webarchiv|getdomain|http://www.osoa.org/display/Main/Service+Component+Architecture+Home}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20110411193109}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Service Component Architecture Home | {{#invoke:WLink|getEscapedTitle|Service Component Architecture Home}} | {{#invoke:Webarchiv|getdomain|http://www.osoa.org/display/Main/Service+Component+Architecture+Home}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-13 15:56:19 InternetArchiveBot | 2019-05-13 15:56:19 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20110411193109}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Service Component Architecture Home | {{#invoke:WLink|getEscapedTitle|Service Component Architecture Home}} | {{#invoke:Webarchiv|getdomain|http://www.osoa.org/display/Main/Service+Component+Architecture+Home}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-13 15:56:19 InternetArchiveBot | 2019-05-13 15:56:19 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Service Component Architecture Home | {{#invoke:WLink|getEscapedTitle|Service Component Architecture Home}} | {{#invoke:Webarchiv|getdomain|http://www.osoa.org/display/Main/Service+Component+Architecture+Home}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-13 15:56:19 InternetArchiveBot | 2019-05-13 15:56:19 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Service Component Architecture Home | {{#invoke:WLink|getEscapedTitle|Service Component Architecture Home}} | {{#invoke:Webarchiv|getdomain|http://www.osoa.org/display/Main/Service+Component+Architecture+Home}} }} (Memento{{#if: {{#if: 2019-05-13 15:56:19 InternetArchiveBot | 2019-05-13 15:56:19 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Service Component Architecture Home | {{#invoke:WLink|getEscapedTitle|Service Component Architecture Home}} | {{#invoke:Webarchiv|getdomain|http://www.osoa.org/display/Main/Service+Component+Architecture+Home}} }}  
                 }}}}}}}}{{#if:2019-05-13 15:56:19 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20110411193109|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.osoa.org/display/Main/Service+Component+Architecture+Home}}
    || {{#if:  || }}
  }}{{#if: Service Component Architecture Home
    | {{#if: {{#invoke:WLink|isBracketedLink|Service Component Architecture Home}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.osoa.org/display/Main/Service+Component+Architecture+Home%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.osoa.org/display/Main/Service+Component+Architecture+Home%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.osoa.org/display/Main/Service+Component+Architecture+Home }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} – SCA auf www.osoa.org</ref> Dem SOA-Gedanken folgend sind SCA-Komponenten unabhängig von einer konkreten Technologie.

Partner

Die folgenden Firmen arbeiten als Partner zusammen an der Erstellung der Spezifikationen der Service Component Architecture: BEA Systems, Cape Clear, IBM, SpringSource, IONA Technologies, Oracle Corporation, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG, Software AG, Sun Microsystems, Sybase, TIBCO, Xcalia und Zend Technologies.<ref>Service Component Architecture Partners</ref>

Definition

Die veröffentlichte Spezifikation<ref>http://www-128.ibm.com/developerworks/library/specification/ws-sca/</ref> scheint vage in vielfacher Hinsicht. Aber sie entwickelt sich rasch und es bilden sich neue Spezifikationen heraus<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20071012184346

      | {{#ifeq: 20071012184346 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20071012184346}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-13 15:56:19 InternetArchiveBot | 2019-05-13 15:56:19 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20071012184346}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-13 15:56:19 InternetArchiveBot | 2019-05-13 15:56:19 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-13 15:56:19 InternetArchiveBot | 2019-05-13 15:56:19 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications}} }} (Memento{{#if: {{#if: 2019-05-13 15:56:19 InternetArchiveBot | 2019-05-13 15:56:19 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications}} }}  
                 }}}}}}}}{{#if:2019-05-13 15:56:19 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20071012184346|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications}}
    || {{#if:  || }}
  }}{{#if: Archivierte Kopie
    | {{#if: {{#invoke:WLink|isBracketedLink|Archivierte Kopie}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}</ref>. Die Spezifikationen legen für nach SCA entworfene Anwendungen folgende Eigenschaften fest:
  • Entkopplung der Service-Implementierung und -Bereitstellung von den spezifischen Möglichkeiten der Infrastruktur.
  • Sollte mit verschiedenen Programmiersprachen und -standards zusammenarbeiten, unter anderem mit C++, Java, COBOL und PHP, sowie mit XML, BPEL und XSLT.
  • Muss verschiedene Meldungskonstrukte unterstützen, insbesondere einfache Aufrufe ohne Antwort, asynchrone Kommunikation, eine Konversation über mehrere Nachrichten hinweg und Notifications.
  • Infrastrukturmöglichkeiten wie Sicherheit, Transaktionen und verlässliches Melden sollten über Metadaten auf die Kodierung einwirken.
  • Daten sollten als Service Data Objects repräsentiert werden.
  • Nach SCA-Prinzipien entworfene Komponenten sollten einfach wiederverwendbar sein.
  • Lokale Serviceaufrufe sollten stärker gekoppelt sein. Damit wird der Overhead für das Erzeugen und Parsen von Meldungen reduziert, der allein für den Transport über Netzwerke gedacht ist.

Weitere Analyse

Gartner Group hat 2005 eine Kurzmeldung veröffentlicht, die zu dem Schluss kommt, dass die in SCA enthaltene Technologie Service Data Objects (SDO) aufgrund ihrer Reife rascheren Zuspruch erfahren wird.<ref>http://www.gartner.com/resources/136600/136687/new_soa_specification_will_f_136687.pdf</ref>

Vorteile:

  • ausgelegt für alle existierenden Java-Plattformen und C++-Technologien (Jedoch hat das SCA-C++-Komponentenmodell schwere Mängel)<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20080224210629
      | {{#ifeq: 20080224210629 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: SCA considered harmful | {{#invoke:WLink|getEscapedTitle|SCA considered harmful}} | {{#invoke:Webarchiv|getdomain|http://ke-jin.blogspot.com/2007/11/service-component-architecture-sca.html}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20080224210629}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: SCA considered harmful | {{#invoke:WLink|getEscapedTitle|SCA considered harmful}} | {{#invoke:Webarchiv|getdomain|http://ke-jin.blogspot.com/2007/11/service-component-architecture-sca.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20080224210629}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: SCA considered harmful | {{#invoke:WLink|getEscapedTitle|SCA considered harmful}} | {{#invoke:Webarchiv|getdomain|http://ke-jin.blogspot.com/2007/11/service-component-architecture-sca.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: SCA considered harmful | {{#invoke:WLink|getEscapedTitle|SCA considered harmful}} | {{#invoke:Webarchiv|getdomain|http://ke-jin.blogspot.com/2007/11/service-component-architecture-sca.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: SCA considered harmful | {{#invoke:WLink|getEscapedTitle|SCA considered harmful}} | {{#invoke:Webarchiv|getdomain|http://ke-jin.blogspot.com/2007/11/service-component-architecture-sca.html}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: SCA considered harmful | {{#invoke:WLink|getEscapedTitle|SCA considered harmful}} | {{#invoke:Webarchiv|getdomain|http://ke-jin.blogspot.com/2007/11/service-component-architecture-sca.html}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20080224210629|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://ke-jin.blogspot.com/2007/11/service-component-architecture-sca.html}}
    || {{#if:  || }}
  }}{{#if: SCA considered harmful
    | {{#if: {{#invoke:WLink|isBracketedLink|SCA considered harmful}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://ke-jin.blogspot.com/2007/11/service-component-architecture-sca.html%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://ke-jin.blogspot.com/2007/11/service-component-architecture-sca.html%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://ke-jin.blogspot.com/2007/11/service-component-architecture-sca.html }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}</ref>
  • weniger technologieabhängig – benötigt z. B. weder Java noch XML
  • verwendet SDO, den einzigen Industriestandard für Datenzugriffe in SOA

Nachteile:

  • Fehlende Unterstützung durch Microsoft reduziert die Relevanz von SCA für eine große Zahl potentieller Anwender.
  • Die Spezifikation adressiert nicht die Performanz von SOA-Anwendungen, was ein Störfaktor für die Anwendung bleibt.

Es wird behauptet, dass SCA durch einen Ansatz namens Aktivierung („Activation“) interoperabel sei. Diese Methode stelle, verglichen mit den älteren Methoden „mediation“ (z. B. JBI) oder „Invocation“ (JCA), ein Höchstmaß an Komponentenautonomie sicher.<ref><templatestyles src="Webarchiv/styles.css" />{{#if:

      | {{#ifeq: {{{wayback}}} | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|https://www.sdn.sap.com/irj/sdn/weblogs?blog=%2Fpub%2Fwlg%2F2824}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|{{{wayback}}}}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|https://www.sdn.sap.com/irj/sdn/weblogs?blog=%2Fpub%2Fwlg%2F2824}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-13 15:56:19 InternetArchiveBot | 2019-05-13 15:56:19 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|{{{wayback}}}}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|https://www.sdn.sap.com/irj/sdn/weblogs?blog=%2Fpub%2Fwlg%2F2824}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-13 15:56:19 InternetArchiveBot | 2019-05-13 15:56:19 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|https://www.sdn.sap.com/irj/sdn/weblogs?blog=%2Fpub%2Fwlg%2F2824}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-13 15:56:19 InternetArchiveBot | 2019-05-13 15:56:19 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|https://www.sdn.sap.com/irj/sdn/weblogs?blog=%2Fpub%2Fwlg%2F2824}} }} (Memento{{#if: {{#if: 2019-05-13 15:56:19 InternetArchiveBot | 2019-05-13 15:56:19 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 20121217172144
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|https://www.sdn.sap.com/irj/sdn/weblogs?blog=%2Fpub%2Fwlg%2F2824}} }}  
                 }}}}}}}}{{#if:2019-05-13 15:56:19 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:20121217172144|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|https://www.sdn.sap.com/irj/sdn/weblogs?blog=%2Fpub%2Fwlg%2F2824}}
    || {{#if:  || }}
  }}{{#if: Archivierte Kopie
    | {{#if: {{#invoke:WLink|isBracketedLink|Archivierte Kopie}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|https://www.sdn.sap.com/irj/sdn/weblogs?blog=%2Fpub%2Fwlg%2F2824%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|https://www.sdn.sap.com/irj/sdn/weblogs?blog=%2Fpub%2Fwlg%2F2824%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|https://www.sdn.sap.com/irj/sdn/weblogs?blog=%2Fpub%2Fwlg%2F2824 }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}</ref>

SCA Artefakte

Das SCA Assembly Model besteht aus einer Serie von Artefakten. Diese werden durch Elemente in XML-Dateien definiert. Eine SCA-Anwendung kann zur Laufzeit andere nicht standardisierte Repräsentationen von Artefakten haben, die durch diese XML-Dateien repräsentiert werden. Zusätzlich kann sie die dynamische Konfiguration von Systemen erlauben. Allerdings legen die XML-Dateien die portable Repräsentation der SCA-Artefakte fest.

Das Basis-Artefakt ist das Kompositum. Dies ist zugleich die Auslieferungs-Einheit innerhalb SCA und enthält Services, auf die von außen zugegriffen werden kann. Ein Kompositum enthält ein oder mehrere Komponenten, die die vom Modul bereitgestellten Geschäftsfunktionen enthalten. Komponenten stellen ihre Funktionen als Services bereit. Diese können entweder von anderen Komponenten desselben Moduls verwendet werden oder sie sind über Entry Points (Einstiegspunkte) auch außerhalb des Moduls verfügbar. Komponenten können von Services anderer Komponenten abhängen – diese Abhängigkeiten werden Referenzen genannt. Referenzen können entweder mit Diensten anderer Komponenten desselben Moduls verknüpft werden oder mit Dienste außerhalb des Moduls insbesondere der anderer Module. Referenzen auf Dienste außerhalb des Moduls werden im Modul als externe Services definiert. Auch enthalten im Modul sind Beziehungen zwischen Referenzen und Diensten. Diese werden durch Wires (Drähte) repräsentiert.

Eine Komponente besteht aus einer konfigurierten Implementierung, wobei die Implementierung das Stück Programmcode ist, welches die sogenannte business logic implementiert. Die Komponente konfiguriert die Implementierung besitzt sogenannte Properties (Eigenschaften), die für jede konkrete Implementierung festgehalten werden. Die Komponente kann die Konfiguration der Implementierung außerdem ändern, indem sie das Wiring der von der Implementierung deklarierten Referenzen auf konkrete Dienste festlegt.

Komposita werden innerhalb eines SCA-Systems ausgeliefert. Ein SCA-System repräsentiert eine Menge von Diensten, die wiederum einen Bereich von Geschäftsfunktionalität bereitstellen, der von einer einzelnen konkreten Geschäftseinheit kontrolliert wird. Beispiel Buchhaltung: Das SCA-System könnte alle finanzbezogenen Funktionen abdecken. Zusätzlich könnte es eine Reihe von Modulen enthalten, die mit jeweils abgegrenzten Teilbereichen der Buchhaltung umgehen: Eines für Kunden-Konten, ein anderes für Rechnungen. Bei der Erstellung und Konfiguration eines SCA-Systems helfen Subsysteme. Subsysteme werden verwendet, um miteinander in Beziehung stehende Komposita zu gruppieren. Subsysteme enthalten Modul-Komponenten, dies sind konfigurierte Instanzen von Modulen. Subsysteme haben, wie Module, Entry Points und External Services, die die externen Dienste und Referenzen abbilden. Subsysteme können ferner Wires enthalten, die die Modulkomponenten verbinden, Entry Points und External Services.<ref>BEA, IBM, IONA, Oracle, SAP, Siebel, Sybase (zusammen, die “Autoren”) stimmen überein, eine royalty-free Lizenz anzubieten, unter vernünftigen, diskriminierungsfreien Bedingungen für Patente, die sie für notwendig halten, um die Service Component Architecture Specification zu implementieren.</ref>

Implementierungen

  • Rogue Wave HydraSCA
  • Covansys
  • Apache Tuscany
  • Paremus Infiniflow
  • Newton
  • SCA and SDO for PHP
  • PocoCapsule
  • Trentino
  • TIBCO ActiveMatrix Service Grid

Literatur

  • Wolfgang Beinhauer, Michael Herr, Achim Schmidt: SOA für Agile Unternehmen, Symposion Publishing 2008, ISBN 978-3-939707-14-1 (www.symposion.de/it-management)

Weblinks

Einzelnachweise

<references />