???? Apache Tuscany Java SCA FAQ ???????????????
Panel |
---|
borderColor | #C3CDA1 |
---|
bgColor | #ECF4D1 |
---|
titleBGColor | #C3CDA1 |
---|
title | Apache Tuscany |
---|
|
\\
{panel:title=Apache Tuscany | | | =solid|borderColor=#C3CDA1|titleBGColor=#C3CDA1|bgColor=#ECF4D1}
* [|#Build Questions]
** [ |#BuildA]
** [ |#BuildB]
** [ |#BuildC]
** [ |#BuildD]
** [ ?|#BuildE]
** [???? |#BuildF]
** [ _
_
|#BuildG]
** [mavenRC |#BuildH]
** [|#BuildI]
** [?Eclipse Tuscany Java SCA |#BuildJ]
** [?Maven|#BuildK]
* [Java ?|#Implementation JavaQuestions]
** [? @Service |#ImplementationJavaA]
** [references?|#ImplementationJavaB]
* [??|#Binding Questions]
** [SCA EJB|#BindingA]
* [??|#DataBinding Questions]
** [???????????????|#DataBindingA]
* [Contribution??|#Contribution Questions]
** [META-INF|#ContributionA]
** [ |#ContributionB]
* [Policy|#Policy Framework Questions]
** [Tuscany 1.0???? ?|#PolicyA]
** [?????? |#PolicyB]
* [??|#Specification Questions]
** [Tuscany |#SpecificationA]
** [|#SpecificationB]
{panel}
h2. {anchor:Build Questions}
{bgcolor:#C3CDA1} |
Anchor |
---|
| Build Questions |
---|
| Build Questions |
---|
|
{bgcolor}
h3. {anchor:BuildA}
{bgcolor:#C3CDA1}
{bgcolor}
IBM ? Sun ? JDK IBM ? Sun ? JDK 1.5 ???Tuscany?? Tuscany???????????? ????
????JDK1.4 ?? ?Tuscany SCA ????????JDK1.5?????????? ??
JDK1.6?XML???????????????????????????????????????????????????????JDK1.6?
{ Code Block |
---|
}
javax.xml.stream.FactoryConfigurationError: Provider
javax.xml.stream.XMLInputFactory could not be
instantiated: java.lang.InstantiationException
at
javax.xml.stream.XMLInputFactory.newInstance(XMLInputFactory.java:158)
{code}
h3. {anchor:BuildB}
{bgcolor:#C3CDA1} |
{bgcolor}
???? Apache Tuscany?????? ??Maven ???????? ??Maven2.0.5 ????????????????????????????????????2.0.5?
h3. {anchor:BuildC}
{bgcolor:#C3CDA1}?? Background Color |
---|
| ????Tuscany????? | ??
{bgcolor}
??? ?Tuscany?SVN ????????????????????????????????????????trunk????????????????????????????????????????????????? ??
???????????????????????????????????????????
??????????IDE
????????
{ Code Block |
---|
}
cd mytuscanydir
svn checkout [https://svn.apache.org/repos/asf/incubator/tuscany/java/]
{code}
?? | (???????????? ??)
{ Code Block |
---|
}
svn update [https://svn.apache.org/repos/asf/incubator/tuscany/java/]
{code}
| ???maven Code Block |
---|
??maven??
{code}
cd mytuscanydir/sca
mvn clean
{code}
?? |
????maven ??????????maven ???????? ???SCA?? Code Block |
---|
??
{code}
.m2\repository\org\apache\tuscany\sca
{code}
|
????sca
{ Code Block |
---|
}
cd mytuscanydir/sca
mvn
{code}
| ??????????????????????????
h3. {anchor:BuildD}
{bgcolor:#C3CDA1}????
{bgcolor}
itest???? itest???"Java heap space"???? ????"Java heap space"????????itest???????????????????? ??
??"MAVEN_OPTS="-Xmx1024m -Xms512m" ?????? ?sca?pom? ??[1 ]??surfire plugin????? ??
[1] [1 https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/pom.xml ]
h3. {anchor:BuildE}
{bgcolor:#C3CDA1} Background Color |
---|
| ??????Eclipse? |
???? Eclipse???
{bgcolor}
???????????????? ??svn???????????? No Format |
---|
??
{noformat}
demos
distribution
itest
modules
samples
tools
pom.xml
{noformat}
|
?? ??maven?? Code Block |
---|
??
{code}
mvn
{code}
|
mvn??????????????Eclipse Code Block |
---|
??Eclipse??
{code}
mvn -Peclipse eclipse:eclipse
{code}
|
??????? ??".classpath" ? ".project" ????????? ???Eclipse ?????? ??Eclipse ???? ?"File/Import/Existing Projects Into Workspace"????????????Eclipse???? Eclipse?????? ??????
????????????????????????????????????????????????????? ??????
h3. {anchor:BuildF}
{bgcolor:#C3CDA1}????WebApp??????Eclipse WTP???
{bgcolor}
Background Color |
---|
| ??WebApp??Eclipse WTP? |
????? ??Eclipse WTP ??? ??WebApp ?????? ?WTP Web ???????mvn eclipse:eclipse ?????????? -Dwtpversion=1.5?
{ Code Block |
---|
}
mvn -Dwtpversion=1.5 -Peclipse eclipse:eclipse
{code}
?? | ?-Dwtpversion=1.5???Eclipse?? WTP Web?? Eclipse?? ?? WTP Web??????<packaging>war</packaging> ?????????????????WTP Tomcat ? Geronimo Server ???, ???Eclipse??????????? ??
h3. {anchor:BuildG}
{bgcolor:#C3CDA1}??IBM JDK?? Background Color |
---|
| IBM JDK WSConfidentialityTestCase?????? | java.lang.ExceptionInInitializerError |
java.security.InvalidKeyException: |
{bgcolor}
?????????IBM JDK? jre\lib\security\java.security??????????? No Format |
---|
??
{noformat}
#
# List of providers and their preference orders:
#
security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider
security.provider.3=com.ibm.jsse2.IBMJSSEProvider2
security.provider.2=com.ibm.crypto.provider.IBMJCE
security.provider.4=com.ibm.security.jgss.IBMJGSSProvider
security.provider.5=com.ibm.security.cert.IBMCertPath
security.provider.6=com.ibm.security.sasl.IBMSASL
{noformat}
h3. {anchor:BuildH}
{bgcolor:#C3CDA1}maven |
Background Color |
---|
| maven ????????????? |
{bgcolor}
??????????? ??maven ?????????????????????????????????? ?maven settings.xml???????????? Code Block |
---|
??
{code}
<mirrors>
<mirror>
<id>ant.staging</id>
<url>http://people.apache.org/~antelder/tuscany/1.0-RC1a/maven</url>
<mirrorOf>apache.incubator</mirrorOf>
</mirror>
{code}
|
settings.xml ????home ????.m2 ????????????? : "C:\Documents and Settings\Administrator\.m2"??????????????????: [settings.xml |https://svn.apache.org/repos/asf/incubator/tuscany/java/etc/settings.xml]
h3. {anchor:BuildI}
{bgcolor:#C3CDA1} Background Color |
---|
| ??????????????? |
{bgcolor}
Tuscany??JDK logger ??info, warning ?. ???????logging.properties ????. Tuscany ???????????????? ?JDK ?????INFO??????????????????? ????logging.properties?????? ????jre/lib ?????? ??IBM JDK Code Block |
---|
??
{code}
C:\thedirwhereiinstalledjava\jre\lib\logging properties
{code}
?? |
????????FINE???????? Code Block |
---|
??
{code}
.level= FINE
{code}
|
????????????
{ Code Block |
---|
}
java.util.logging.ConsoleHandler.level = INFO
{code}
| JDK???? JDK??????? Background Color |
---|
| ?Eclipse?Tuscany Java SCA? | [??|http://java.sun.com/j2se/1.4.2/docs/guide/util/logging/overview.html]?
h3. {anchor:BuildJ}
{bgcolor:#C3CDA1}???Eclipse??????????java???? Tuscany Java SCA?????
{bgcolor}
?? ?????JVM???? java???????? [??Calculator??? Code Block |
---|
|http://www.eclipsezone.com/eclipse/forums/t53459.html]
???????JVM??????????????????Calculator?????
{code}
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-calculator.jar;
.calculator.CalculatorClient
Listening for transport dt_socket at address: 8000
3 + 2=5.0
3 - 2=1.0
3 * 2=6.0
3 / 2=1.5
{code}
?? |
????????-X. ????????8000. ? Eclipse ?????????????? ??debug dialog ?????? ??"Remote Java Application"??8000???? 8000???? ????Eclipse??
??????Eclipse????? Tuscany SCA ? Tuscany SCA ????????? ??calculator?? ??
h3. {anchor:BuildK}
{bgcolor:#C3CDA1} Background Color |
---|
| Maven??????????????? |
{bgcolor}
?????????????????? ?windows?????????????????????????????????????????????????????????????????? ??
h2. {anchor:Implementation JavaQuestions}
{bgcolor:#C3CDA1} Anchor |
---|
| Implementation JavaQuestions |
---|
| Implementation JavaQuestions |
---|
|
Background Color |
---|
| Java?????? |
{bgcolor}
h3. {anchor:ImplementationJavaA}
{bgcolor:#C3CDA1}??? Anchor |
---|
| ImplementationJavaA |
---|
| ImplementationJavaA |
---|
|
Background Color |
---|
| ?@Service?????????? |
Code Block |
---|
??
{bgcolor}
{code}
@Service(interfaces={Interface1.class, Interface2.class, Interface3.class} )
public class ServiceImpl implements Interface1, Interface2, Interface3{
...
}
{code}
h3. {anchor:ImplementationJavaB}
{bgcolor:#C3CDA1}?? |
Anchor |
---|
| ImplementationJavaB |
---|
| ImplementationJavaB |
---|
| ??
{bgcolor}
???????????????...
{ Code Block |
---|
}
public class ServiceImpl implements ServiceInterface1{
@Reference
ServiceInterface2 serviceReference1;
@Reference
private ServiceInterface2 serviceReference2;
@Reference
protected ServiceInterface2 serviceReference3;
@Reference
public ServiceInterface2 serviceReference4;
...
}
{code}
? | ??????? ?serviceReference1 ? serviceReference2 ?? null??? ?? SCA ??" ??" protected ? public ?? ?????????" ??"??????????@Callback, @ConversationId ? @Context?
h2. {anchor:Binding Questions}
{bgcolor:#C3CDA1} Anchor |
---|
| Binding Questions |
---|
| Binding Questions |
---|
|
{bgcolor}
h3. {anchor:BindingA}
{bgcolor:#C3CDA1}????EJB??????SCA Background Color |
---|
| ??EJB??SCA???SLSB |
?????????? SLSB?SCA?
{bgcolor}
?SLSB???????????? SCA Anchor |
---|
| DataBinding Questions |
---|
| DataBinding Questions |
---|
| SLSB :-)
h2. {anchor:DataBinding Questions}
{bgcolor:#C3CDA1}??
{bgcolor}
h3. {anchor:DataBindingA}
{bgcolor:#C3CDA1}??????????????
{bgcolor}
?????????????????????????????Java ??, XML ??, ??CORBA ??, ???????????????????
?? ????????????????Java???????Java???? Java???????????????JavaJava?????Java??? Java???? Java????????? Java???????????????????????WSDL????WSDLXML? ??????????????? WSDL???????? WSDL?, ???XML???
DOM, StAX ??SDO, ? JAXB ?????????AXIOM??Tuscany??????????? , ? - ??
XML- ???data mediator interceptor????
DOM, StAX - ??
SDO, - ?
JAXB - ???????R?A?
AXIOM- ??
Tuscany- ??S?B???????????
{quote}
{quote}
# *- ??
????? data mediator interceptor- ??????AB????????????
R- ???
A- ???????
S- ???
B- ?????????????
*
- ???
?????????? A- ????
B- ???????????????(????)????????????Axis2?RMI???????????
- ???????????Axis2?AXIOM??????????????????AXIOM?
(- ????????
)- ?????????
??- AXIOM?????
Axis2- ?
RMI- ?????????????:
- A ??Java ??
?- X(java) R
- X ??? R???
- ???
Axis2- ?? X(java) ?
AXIOM- ?? AXIOM ?? X(axiom)
- X(axiom) ?Axis2???
- Axis2??? X(axiom)?(XML)????
- Axis2????
AXIOM- ?? XML ????? X(axiom)
- X(axiom) ?Axis2???
- ???????????
AXIOM- ??? X(axiom) ??? X(java)
- X(java) ??? B???
- B?????????
:
## A - ????
Java - ??
- X(java)
.??
R
## X - ????
? R- ???
## - ?????
X(java) - ???
AXIOM - ??
X(axiom)
## X(axiom) - ???
Axis2- ?:???
?
## - AAxis2???
X(axiom)- ???
(XML- ?Axis2?
)- ????
## - ??
Axis2- B?
???????
XML - ?????
X(axiom)
## X(axiom) - ???
Axis2- ??
???
## - A ? B?????
????????? X(axiom) ??? X(java)
## X(java) ??? - A ? B ???
## B- ???????????????
X(java)
.- ????????? A->net ? net->B?
Anchor |
---|
| Contribution Questions |
---|
| Contribution Questions |
---|
|
Background Color |
---|
| Contribution????? | ?????????:???????A????Axis2???????????Axis2?????????B?
????????????????? A ? B?????A ? B ??????????????????????????? A->net ? net->B?
h2. {anchor:Contribution Questions}
{bgcolor:#C3CDA1}Contribution?????
{bgcolor}
h3. {anchor:ContributionA}
{bgcolor:#C3CDA1} Anchor |
---|
| ContributionA |
---|
| ContributionA |
---|
|
Background Color |
---|
| META-INF/sca-contribution.xml??????? |
{bgcolor}
[SCA ?????? 1.00?|http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications] ?SCA ?????? 1.00? 1.10.2.3. ?????????sca-contribution.xml???????????????????????? ??
??????????contribution?
{ Code Block |
---|
}
/my/contribution/dir
{code}
| ??????????????????? ??contribution ??. ??, ??????
{ Code Block |
---|
}
/my/contribution/dir/META-INF/sca-contribution.xml
/my/contribution/dir/mycomposite.composite
{code}
| sca-contribution.xml???
{ Code Block |
---|
}
<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
targetNamespace="http://mycomposite"
xmlns:management="http://mycomposite">
<deployable composite="mycomposite:MyComposite"/>
</contribution>
{code}
| ?contribution??? ??mycomposite.composite ??????????mycomposite:MyComposite ?? ?, ???????
h3. {anchor:ContributionB}
{bgcolor:#C3CDA1} Anchor |
---|
| ContributionB |
---|
| ContributionB |
---|
|
Background Color |
---|
| META-INF/sca-deployables/ |
{bgcolor}
????Tuscany ??????????, SCA????????? ??
???????????contribution?
{ Code Block |
---|
}
/my/contribution/dir
{code}
| ???????????????????? ??/META-INF/sca-deployables/???????? Code Block |
---|
??
{code}
/my/contribution/dir/META-INF/sca-deployables/mycomposite.composite
{code}
h2. {anchor:Policy Framework Questions}
{bgcolor:#C3CDA1}???????
{bgcolor}
h3. {anchor:PolicyA}
{bgcolor:#C3CDA1}Tuscany 1.0 |
Anchor |
---|
| Policy Framework Questions |
---|
| Policy Framework Questions |
---|
|
Background Color |
---|
| Tuscany 1.0 ???????????? |
{bgcolor}
Java SCA Java SCA 1.0??, ??SCA ????????????? definitions.xml ???????? ???SCA ?????????? ??With respect to processing, computing aplicable policies and applying them is concerned here is what the Release1.0 ????:
- - ???????????????????????????????????????????
- ???????????? - helloworld-ws-service-secure????
????
- ?? ??????????
- ????
- ?????????????? ??[|http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg21699.html]?
h3. {anchor:PolicyB}
{bgcolor:#C3CDA1} Background Color |
---|
| ??????Axis2 |
{bgcolor}
- ????
- ??- ??????????Axis2??????????????
??[][][]
- ?? - helloworld-ws-service-secure
????xml????????????- ??????????????????????keystore?
??
- ????????
- ?????????? ??
h2. {anchor:Specification Questions}
{bgcolor:#C3CDA1} Anchor |
---|
| Specification Questions |
---|
| Specification Questions |
---|
| ??
{bgcolor}
h3. {anchor:SpecificationA}
{bgcolor:#C3CDA1}Tuscany Anchor |
---|
| SpecificationA |
---|
| SpecificationA |
---|
|
Background Color |
---|
| Tuscany ????????? |
{bgcolor}
SCA SCA ???????6?:
[http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sca-assembly ]
[ http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sca-policy ]
[ http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sca-bindings ]
[ http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sca-j ]
[ http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sca-c-cpp ]
[ http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sca-bpel ]
??????????????????????
???????
[http://www.oasis-open.org/archives/sca-assembly/ ]
[ http://www.oasis-open.org/archives/sca-policy/ ]
[ http://www.oasis-open.org/archives/sca-bindings/ ]
[ http://www.oasis-open.org/archives/sca-j/ ]
[ http://www.oasis-open.org/archives/sca-c-cpp/ ]
[ http://www.oasis-open.org/archives/sca-bpel/ ]
h3. {anchor:SpecificationB}
{bgcolor:#C3CDA1}What does the promote keyword in the composite file mean?
{bgcolor}
An SCA composite can be used as an implementation Anchor |
---|
| SpecificationB |
---|
| SpecificationB |
---|
|
Background Color |
---|
| What does the promote keyword in the composite file mean? |
An SCA composite can be used as an implementation (implementation.composite) for a component. This is so-called recursive composition. It allows pre-assembled composites to be reused.
"promote" can be used to make services or references declared on a component inside the composite visible for wiring at the composite level. The composite services and references can be then further configured when it's used as a component implementation at outer level.
Hope the following samples help. Code Block |
---|
{code}
<composite name="Composite1" xmlns:ns="http://dummy">
<component name="C1">
<implementation.composite name="ns:Composite2">
<!-- wire ref1 to component C3's service1 -->
<reference name="ref1" target="C3/service1"/>
<!-- configure the service with ws binding -->
<service name="svc1">
<binding.ws .../>
</service>
</component>
</composite>
|
Code Block |
---|
{code}
{code}
<composite name="Composite2" targetNamespace="http://dummy"
xmlns:ns="http://dummy">
<component name="C2">
<implementation.java class="my.C2Impl">
</component>
<!-- innerService of component C2 is promoted as svc1 -->
<service name="svc1" promote="C2/innerService"/>
<!-- innerReference of component C2 is promoted as ref1 -->
<reference name="ref1" promote="C2/innerReference"/>
</composite>
{code}
|
|