GlassFish OSGi - From modular runtime to hybrid applications

33

description

Presented at FISL 2010

Transcript of GlassFish OSGi - From modular runtime to hybrid applications

Page 1: GlassFish OSGi - From modular runtime to hybrid applications

����������������������������� ��������������

�� ���������� �������� ���������� �

�����

Page 2: GlassFish OSGi - From modular runtime to hybrid applications

�� ��������������� � ���������� ������ �������������� ������ ������� � ��������������������� �����!���������� ��������� ���������������� ���������������� ������ ��" ������ ���!���� !��������������!�������������� �� �� ����������������������� �������

�� �� " ���� �!�� � � !��������������� ��� ����������������� ����� ������#��� $������������ �������� ���� ������ �������#��� �

Page 3: GlassFish OSGi - From modular runtime to hybrid applications

� �

���������

� ��%�������� &� ��!���� ��!�� �� ��!�' " ��� ��� (������) ���

� * �� ��+*�,�-(.!�� ����+*�,�/(.!����00���+��.!�������� � �+%�� �.!�#� �1�+*�(.!���������!����

� ����������( �" �� 2� ����� �1��������#� �(���� � *"�22�3�4�5�- � � � � ��� � ����� �����%��� �����(������������#���

Page 4: GlassFish OSGi - From modular runtime to hybrid applications

� �

�� �����������������������

� 6����� ������ �����������) ��� #� �(���� ���� � !���" �� !�����������!�

����� ��!����

� -��������������#� �(���� �2������ ���������7�8�9������ ����*� ����� �� ���������7�9���:898� ���������7�:���:899� ���������;�8���� �������*"�22�<� %���� ���!�� ����0 �����!�%�� � � !�"������0���� ' �����������=44������������4�����

Page 5: GlassFish OSGi - From modular runtime to hybrid applications

� �

������

� (���� ��������� � � ����� ����

� %��� ��"���' " ��� �� >�� ����� !�� ����� ��) ����!�� ������!����

� ������ ���� � ������ �������

� ? ������ � � �

� ������������� ��� �� " ��� ����������!

� �����!������!�� ��������� �!���������!����

Page 6: GlassFish OSGi - From modular runtime to hybrid applications

� �

������&'())*+

� +�� �(������ �� �������.

Page 7: GlassFish OSGi - From modular runtime to hybrid applications

� �

������&'())*+

� 6 ��� ��� �

� / �������� !�-2(�!��� ��� �!������� � � ����) ����!�"������

� 2�� ���� �

� 2*@�7�9!�*(��:�8!�*���:�8!�( �"� ��7�8

� ��� � � ������

� #������,�>!������ ��������!� �� ��������

� &��� �����

� �� � ������� �988$���@����

Page 8: GlassFish OSGi - From modular runtime to hybrid applications

� �

�� ���������� $���

� 2�� ������

� ' ������������ ��������

� ��������������������������+����.����� �

� @ ��������� �

� �� ���������� ��������

� ' �� �������� ������ ���� ��� �

Page 9: GlassFish OSGi - From modular runtime to hybrid applications

� �

�� ���������� $���,���� %

� *"���� ���������� ������ ������ ������ ���������� � � �� �

� *"�22����"�� �������� ��� �����������������" ����

� (����� �" ������� ��������������� ���� �

� *"��������� ����� ��A������B

� /� �� ��������� ��� $�� �������

Page 10: GlassFish OSGi - From modular runtime to hybrid applications

� �

(��� ����9CCC�� ������� �� �� ������ ���������� �" �����

Page 11: GlassFish OSGi - From modular runtime to hybrid applications

� �

����)�

� ����� �D�A@��� B�D�*�-��������������� ����+������4 ���������� �!����.

� 3���� ������#(�������

� 6(��>>2'

� -2(#>?2'

� (��-� 6�

� �%� ?2

� (�#�� 6�

Page 12: GlassFish OSGi - From modular runtime to hybrid applications

� �

"� �����������������-

Page 13: GlassFish OSGi - From modular runtime to hybrid applications

� �

���������.%�����

� �������=����� �� ����+#(��.

� 2�� ���� �=�EF:

� G ��" �������H

Page 14: GlassFish OSGi - From modular runtime to hybrid applications

� �

Page 15: GlassFish OSGi - From modular runtime to hybrid applications

� �

/��� ���� ��

Page 16: GlassFish OSGi - From modular runtime to hybrid applications

� �

��� 0� ������$� ����1

� ����������������������#(���+� �������� ����.� ���������������� ����2I����

� �����������������:88J����� �

� %������������#(���+(�������� .

� %��� �#(����� � ��������+%> ����/ �.

� ���������#(���/ �������%����

� %�� ������ ����������� �������#(��������

Page 17: GlassFish OSGi - From modular runtime to hybrid applications

� �

Page 18: GlassFish OSGi - From modular runtime to hybrid applications

� �

��� 0� ������$� ����1

� ���#(������� �������������������� '���������glassfish/modules{/autostart}� %�����asadmin deploy�����������type osgi

Page 19: GlassFish OSGi - From modular runtime to hybrid applications

� �

�2 ����������������-���3� %��4���2�����5������������ ���

� #(���� �����" �� �"��

� ������� �� ����� �������� �*�-���� ��

� "�� ��� �� �"�� �������� �"� �������������

���� �����) ����

� 6 " ���� ������������� �H

� 6�� ���������� �� �� �#(����*"�22

(� ������� �=�����=44������������4���� 04 ���4��������K"7K �� ����K���K;�

Page 20: GlassFish OSGi - From modular runtime to hybrid applications

� �

.�������� �� �%��1

� ���� � ����� ����� " ��� �!�������������� ������#(��L

� �������!�� �

� #(���2� ����� �;�:�����������:898

Page 21: GlassFish OSGi - From modular runtime to hybrid applications

� �

"� ��������6%����������� ����

� ���������������������=

� ��*"�22�����" �

� ��#(�������

� - I��� �������� �����������������������������

Page 22: GlassFish OSGi - From modular runtime to hybrid applications

� �

���������� ���7�����'��7+#(��4/ ������������+����M55.

� /�-�J�#(������� ����������������������������� ������

�������� ������� ���!��"�������#���$�!��"�����������

�����%��&�����������#� '(%��)*+�������+,'(%��)*+���+���������!�

�����%��&������� ������

�����%��&��������������� ���-

�����'���� ���"����#��+#���

�����%��&����.�� ���)����������#��� /��

� >�� ���� ������� ����" ����#(���+�������@��� �����"����.

� /��� ��/�-�(�����������/�����&��������+++�.'��0���/�1'���� ���"����#2+#���

��������

Page 23: GlassFish OSGi - From modular runtime to hybrid applications

� �

6����6%���������8

#��� #.��&+3��0��#�����������

#��� #.��&+����+0����� ������

#��� #.��&+����+3��0��#�����(4%������

#��� #.��&+����+�� ������ ������������

#��� #.��&+����+5 �������������

�(60��)*+�0)�*(�6��*

( �"�� ��� ���

%� � ��'@���� ��� ��� ����� �

/ ���� �

( �"�� ���� � ����

Page 24: GlassFish OSGi - From modular runtime to hybrid applications

� �

��7��������

�������� ���# ���7777

��������������++/ �+#.��&���+�� ��+#.��&����/�

�����

8'������������ �� ����� �&��� .�&��0�������#��3�5+��������� ��9

�� ��

86#��/������� ������&��� .�&���&�3�5+��������� ������ �� �������������9

�����

8������������ ���9

����������

86#�����&��� ������ �&�� ���#���.�����9

� *"�22�� ����� ����

�(�:5�(;�2<��60�6�)=

� *"�22���� ����� ���

�6:���)=�2<��(�:5�(;

#(���� ����� ����� � �

Page 25: GlassFish OSGi - From modular runtime to hybrid applications

� �

�� ���� ���7�����%��� �

� /����#(������ ��

������&����&��� .����.��� � ��#.��&����/�

������#.��&����/�� �������#+� &����+��� ����

������#.��&����/��& �����+& �����+��� &��� .+���&���

� ����/�-����

���������������/�����&��������++/ �+/�����+�� ��+/������/�1�����������'���� ���"����#2+#���

Page 26: GlassFish OSGi - From modular runtime to hybrid applications

� �

���������9����������������

� (��� !������� ������������� � ��� ��� ������ ��������������� ��������

� �����*"�22�5��������

� *"�22�� �� ��#(���� �"�� ��N�������� #(��4E����( �"��

� #(��4*'@%�+����M9::.

� #(��4*���+����MCO.

� #(��4*���+����M9;7.

� #(��4*6' �+����M9;:.

� #(��4/ ������������+����M55.

Page 27: GlassFish OSGi - From modular runtime to hybrid applications

� �

���!��7+���������� ��� .

� ������2*@��������������#(������ ��� 2����������" � �4�� �� �������� ��#(������� �� %��� ����� ���� ��*��� �,!�� ������!�� ����� � ���� ���������� �

� ��������� ����� �����2*@����#(���� �"�� �� >����� ������+(�(@!�(>(@!�(��� ��.� ��� ��� ����("� ��(4%��055>):)(

� %���������� ��N�� �"�� ������ ��� ����� �� #(���( �"�� ���� ������ ������2*@�� �"�� �

"��������!������� ����� ����� ����� � "�

Page 28: GlassFish OSGi - From modular runtime to hybrid applications

� �

���!�:�

� *���������������������

� (�������������� �*������"�� �������#(��� � ����� ����������

� (���� �� ����� � ��������#(������� � 2���� ��J������������"��� (�� ���&�� ����� ��:��� " �����

� ���������7�9�+������������ ��.

Page 29: GlassFish OSGi - From modular runtime to hybrid applications

� �

���� �:�������

�������������4��0����� �������������%��&��0����� �?����������� �&������8�%��&��� ���"��� ���"��9�?��������� ���"��� ����������8����� �&������������ ��)���89,��������������/����� �&�����89�?����������������������� �&���&���&�8�;���� ��.�� �������9�?�����������������������&����� �89$����������������@������������@,�� ���9$����@

���������� �&����&����� �89�?�������������������;�������� ��&����2�8;�������� �9�����������������������������"�� ���8A!��+ � ��6 ����A9$������������� �������� &���8&���9����&8���9$����������������@@

Page 30: GlassFish OSGi - From modular runtime to hybrid applications

� �

��� .7��������

������ �;���8�����&)����2�A!��+ � ��6 ����A9

��������������.�;%����������������� �5�������?

����������� �&� ������ �8����� ������� �9�?

�����������

����@

@

Page 31: GlassFish OSGi - From modular runtime to hybrid applications

� �

������%

� �������������������+#(��.�N� �� ���� �+EF:.

� #(���' �����" �( �"�� ����� �� ����������� 6��#(����� !�������������� !� � ������6��"H

� �"���� ������� ���7�8�9�

� E���������������������#(���� ��������*"22�+��"�� �" ��.� - ���� ����� �

� � � � ����� ����� �

� (������� ������������������� �

� �����������" ��������*"�22���#(��� ��

Page 32: GlassFish OSGi - From modular runtime to hybrid applications

� �

,��������

� (���$������

� ����=44� ������)"� �4����4��9;9:97�

� * ��� $������

� ����=44������������4���� 0���

� ���������7�9

� ����=44������������4������4��������4�������������7�9

� ����=44������������4������4��������47�9#(��

� ����=44������������4������4��������4#���'�������

� ����=44������������

Page 33: GlassFish OSGi - From modular runtime to hybrid applications

� �

� ���������� �������� Q���� ��������=44������������4� ���������� �=�� �����

<��� ����

�����