7.3. サービスの開発
この時点で、サービスを構築するのに十分なことを学習しました。簡単にするために、ビジネスロジックが以下の pseudo-object 内にカプセル化されていることを前提とします。
class AirlineReservationSystem
{
public void reserveSeat (...);
public void querySeat (...);
public void upgradeSeat (...);
}
注記
Plain Old Java Objects、Enterprise Java Beans、または Spring を使用してビジネスロジックを開発します。JBoss Enterprise SOA Platform は、さまざまなアプローチに対して追加設定なしのサポートを提供します。
サービスアクションの処理は以下のようになります。
@Process
public Message process (Message message) throws Exception
{
String opcode = message.getBody().get(“org.example.flight.opcode”);
if (opcode.equals(“reserve”))
reserveSeat(message);
else if (opcode.equals(“query”))
querySeat(message);
else if (opcode.equals(“upgrade”))
upgradeSeat(message);
else
throw new InvalidOpcode();
return null;
}
注記
WS-Addressing では、メッセージボディーの opcode を埋め込むのではなく、メッセージヘッダーのaction フィールドを使用してください。欠点は、複数のアクションがチェーンされていて、これらごとに異なる opcode が必要な場合は機能しないことです。