1. D763 provides modular software systems and solutions through component-based construction, managing and updating components.
2. The company focuses on mobile devices, modularization, and integration platforms, developing applications for Android and Java platforms.
3. D763 emphasizes simplifying software construction through modular and dynamic applications built from reusable components that work together.
3. 2784$,).&
akquinet AG
akquinet !1300k SE
business consulting
GmbH !60k SE
International Microsoft / .NET Outsourcing JAVA / SAP
akquinet akquinet akquinet akquinet
IBS dynamic solutions outsourcing it-agile
GmbH !250k SE GmbH !300k SE gGmbH !250k SE GmbH !100k SE
akquinet akquinet akquinet akquinet
IBS Brüssel SLS logistics system integration tech@spree
GmbH !40k SE GmbH !250k SE GmbH !125k SE GmbH !300k SE
akquinet akquinet
eurosoft Sp. z o.o. enterprise solutions
!100k SE GmbH !80k SE
HKS
GmbH !75k SE
D763'P'O#Q+%;'&9#':Q&9' R'
4. 0+-492:&2,-&0+3$9)&"+94;+,<&
=+5>).),?)&=),.):&@+?4<$,A&+,&
! :+;2"/-'7Q)&#$)'
A :+;2"/-3S/8+%'#C=#-8)#'
A D763K</)#;'
A 7+=93)8*/&#;.'T/-L#')*/"#.'U3)&-3<2&#;')Q)&#$)'
! :+<3"#'7+"28+%)'
A !"#$%&#'()*&#
" :+<3"#';#J3*#).'V%&#-/*8+%)'$3;;"#?/-#.'7#-J#-K)3;#'W'
" :H:.'OHO'
!>),&B)?/,+9+A$)<&
! D763'X4=/*9#'@#"3C.'4=/*#'4*#.'DGH'!9/$#"#+%.'4=/*9#'7"3%LWY'
! 4%;-+3;'
! 4=/*9#':/J#%'
! E/J/'(('XEOD77.'DGH'ED%47Y'
D763'P'O#Q+%;'&9#':Q&9' Z'
5. !C):$,A&
D:?/$.)?.4:)E&=+,<49;,AE&B:2$,$,A&2,-&0),.+:$,A&+,&
! 7Q)&#$)'2)3%L'D763'/%;[+-'$+<3"#';#J3*#)'
! :+;2"/-3S/8+%'
! U#J#"+=$#%&'3%I-/)&-2*&2-#.'O23";'=-+*#))'
! #$+&#'$/%/L#$#%&.'B-+J3)3+%3%L')+"28+%)'
F:+G)?.&:)29$H2;+,&
! :/*93%#'&+':/*93%#'/=="3*/8+%)'
A @VU.'U#J3*#'3%&#-/*8+%.'U/&/'*+""#*8+%.'!+%&-+"K"++='
! :#;3/8+%'['V%&#L-/8+%'
A U/&/'=-+*#))3%L'/%;'$#;3/8+%.'M+-3S+%&/"':#;3/8+%'X(7OY'
! :+<3"#'/=="3*/8+%)'
A 4%;-+3;'
! U#)0&+='/=="3*/8+%)'
A N)#-'#C=#-3#%*#'
! G#<'/=="3*/8+%)'
D763'P'O#Q+%;'&9#':Q&9' ]'
18. !"#$&]:25)S+:7&Z2*):$,A&
L3 – Provides a publish/find/bind
SERVICE service model to decouple bundles
L2 - Manages the lifecycle of bundle in
LIFECYCLE a bundle repository without requiring
the VM be restarted
L1 - Creates the concept of bundles
MODULE that use classes from each other in a
controlled way according to constraints
D763'P'O#Q+%;'&9#':Q&9' gd'
97. (4,-9)&V*,25$<5&
(4,-9)<&?2,&3)&$,<.299)-E&<.2:.)-E&<.+>>)-E&4>-2.)-E&2,-&4,$,<.299)-&2.&:4,&;5)&
! O2%;"#'#J#%&)')3L%/"'"3I#*Q*"#'*9/%L#)'
e&E&58&J#&8&"$#
public class BundleEvent extends EventObject {
public final static int INSTALLED = 0x00000001;
public final static int STARTED = 0x00000002;
public final static int STOPPED = 0x00000004;
public final static int UPDATED = 0x00000008;
public final static int UNINSTALLED = 0x00000010;
public final static int RESOLVED = 0x00000020;
public final static int UNRESOLVED = 0x00000040;
public final static int STARTING = 0x00000080;
public final static int STOPPING = 0x00000100;
…
public Bundle getBundle() { … }
public int getType() { … }
}
D763'P'O#Q+%;'&9#':Q&9' eb'
133. F439$</$,A&2&"):Q$?)&`IaIb&
(4,-9)<&+R),&>439$</&<):Q$?)<&$,&./)$:&2?;Q2.+:&
package com.foo.hello.impl;
import org.osgi.framework.*;
public class Activator implements BundleActivator {
private ServiceRegistration m_reg = null;
public void start(BundleContext context) {
m_reg = context.registerService(
com.foo.hello.Hello.class.getName(), new HelloImpl(),
null);
}
public void stop(BundleContext context) {
m_reg.unregister();
}
}
D763'P'O#Q+%;'&9#':Q&9' gRR'
134. F439$</$,A&2&"):Q$?)&`IaIb&
(4,-9)<&+R),&>439$</&<):Q$?)<&$,&./)$:&2?;Q2.+:&
package com.foo.hello.impl;
import org.osgi.framework.*;
public class Activator implements BundleActivator {
private ServiceRegistration m_reg = null;
public void start(BundleContext context) {
m_reg = context.registerService(
com.foo.hello.Hello.class.getName(), new HelloImpl(),
null);
}
public void stop(BundleContext context) {
m_reg.unregister(); We register the service
} when starting, which makes
} it available to other
bundles
D763'P'O#Q+%;'&9#':Q&9' gRZ'
135. F439$</$,A&2&"):Q$?)&`IaIb&
(4,-9)<&+R),&>439$</&<):Q$?)<&$,&./)$:&2?;Q2.+:&
package com.foo.hello.impl;
import org.osgi.framework.*;
public class Activator implements BundleActivator {
private ServiceRegistration m_reg = null;
public void start(BundleContext context) {
m_reg = context.registerService(
com.foo.hello.Hello.class.getName(), new HelloImpl(),
null);
}
public void stop(BundleContext context) {
m_reg.unregister();
}
} We unregister it
when stopping
D763'P'O#Q+%;'&9#':Q&9' gR]'
139. e<$,A&2&"):Q$?)&`KaIb&
(4,-9)=+,.).&299+S<&34,-9)<&.+&_,-&<):Q$?)<&
public interface BundleContext {
…
void addServiceListener(ServiceListener listener, String
filter)
throws InvalidSyntaxException;
void addServiceListener(ServiceListener listener);
void removeServiceListener(ServiceListener We have methods to find
listener);
ServiceRegistration registerService( service references and get
String[] clazzes, Object service, Dictionary service objects
props);
ServiceRegistration registerService(
String clazz, Object service, Dictionary props);
ServiceReference[] getServiceReferences(String clazz, String
filter)
throws InvalidSyntaxException;
ServiceReference getServiceReference(String clazz);
Object getService(ServiceReference reference);
boolean ungetService(ServiceReference reference);
}
D763'P'O#Q+%;'&9#':Q&9' gRe'
140. e<$,A&2&"):Q$?)&`IaIb&
(4,-9)<&:).:$)Q)&<):Q$?)&:)@):),?)<&
! V%;3-#*&'-#I#-#%*#)'&+')#-J3*#'+<F#*&'
package com.foo.hello.client;
import org.osgi.framework.*;
import com.foo.hello.Hello;
public class HelloClient implements BundleActivator {
public void start(BundleContext context) {
ServiceReference ref = context.getServiceReference(
com.foo.hello.Hello.class.getName());
if (ref != null) {
Hello h = (Hello) context.getService(ref);
if (h != null) {
h.sayHello("World");
context.ungetService(h);
}
}
}
…
}
D763'P'O#Q+%;'&9#':Q&9' gZh'
141. e<$,A&2&"):Q$?)&`IaIb&
(4,-9)<&:).:$)Q)&<):Q$?)&:)@):),?)<&
! V%;3-#*&'-#I#-#%*#)'&+')#-J3*#'+<F#*&'
package com.foo.hello.client;
import org.osgi.framework.*;
import com.foo.hello.Hello;
public class HelloClient implements BundleActivator {
public void start(BundleContext context) {
ServiceReference ref = context.getServiceReference(
com.foo.hello.Hello.class.getName());
if (ref != null) {
Hello h = (Hello) context.getService(ref);
if (h != null) {
h.sayHello("World");
context.ungetService(h);
}
} We first get the
} service reference
…
}
D763'P'O#Q+%;'&9#':Q&9' gZg'
142. e<$,A&2&"):Q$?)&`IaIb&
(4,-9)<&:).:$)Q)&<):Q$?)&:)@):),?)<&
! V%;3-#*&'-#I#-#%*#)'&+')#-J3*#'+<F#*&'
package com.foo.hello.client;
import org.osgi.framework.*;
import com.foo.hello.Hello;
public class HelloClient implements BundleActivator {
public void start(BundleContext context) {
ServiceReference ref = context.getServiceReference(
com.foo.hello.Hello.class.getName());
if (ref != null) {
Hello h = (Hello) context.getService(ref);
if (h != null) {
h.sayHello("World");
context.ungetService(h);
}
}
} From the service
… reference we get the
}
service object
D763'P'O#Q+%;'&9#':Q&9' gZH'