Pengembangan aplikasi web di portal tertanam

Portal Java adalah kelas khusus aplikasi web yang memungkinkan Anda mengembangkan sistem informasi yang agak kompleks dan modular yang menyerupai Sistem Manajemen Konten (CMS), tetapi untuk sektor korporat. Ini menyiratkan bahwa mereka biasanya memiliki kemampuan untuk bekerja dengan hierarki halaman, aplikasi, pengguna, proses, internasionalisasi didukung, dan ada sarana integrasi ke dalam infrastruktur informasi perusahaan. 

Di pasaran untuk sistem ini, terdapat produk komersial dari perusahaan terkenal seperti Oracle, SAP, IBM (sekarang HCL Technologies Ltd), Red Hat JBoss, dan sebagai tambahan ada juga portal Liferay dengan versi open source yang layak, serta sistem portal berorientasi topik dan pendidikan lainnya. , tidak ada cukup portal, tetapi sistem informasi yang mendukung teknologi portal seperti DMS Alfresco. Berarti suportif bahkan dalam teori aplikasi yang dikembangkan untuk satu sistem dapat diinstal pada sistem lain, tetapi dalam kenyataannya ini tidak sepenuhnya terjadi. Pabrikan menambahkan kemampuan mereka sendiri yang tidak kompatibel dengan yang lain, yang membuat fitur tak tertandingi ini tidak terealisasi.

. , , .. . . Portlet 3.0 .


“”, . .

java . Portlets 1.0 , Portlets 2.0, Portlets 3.0. 

, - - ;). npm spring-boot . .. SPA , “ ” . , . : JSON , , , xml-, . 

, -   -. .. java , Spring, Struts, Faces, Jersey . PHP Ruby.

WSRP . 

. 4- . .

Java , “” .

Apache Pluto, , .. .

.

Unix-like Windows git shell . git cmd.exe

git clone https://github.com/apache/portals-pluto

. , - , 8 ant. .

mvn package

ant -f dist-build.xml -DpackageOnly=true

-DincludeDemos=true , - , demo/pom.xml build

<finalName>${project.name}</finalName>

Windows pom.xml,.. -

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-gpg-plugin</artifactId>
  <version>1.6</version>
  <configuration>
     <skip>true</skip>
  </configuration>
</plugin>

target/dist , . , .. .

pluto-3.1.1-SNAPSHOT-bundle.tar.bz2

.

, :\projects

cd c:\projects
tar xvjf c:\portals-pluto\pluto-3.1.1-SNAPSHOT-bundle.tar.bz2

cd pluto-3.1.1-SNAPSHOT

bin\startup.bat

startup.sh .

, . 

, :

tail logs\catalina-.out -f

Windows .

org.apache.catalina.startup.Catalina.start Server startup

, ,

http://localhost:8080/pluto

- pluto .

.

, , Apache Pluto , , , , Liferay WebSphere/HCL DXP. 

Pluto Admin, .

http://localhost:8080/pluto/portal/Pluto%20Admin

demo, , .war webapps/

. maven, . windows M2_HOME M2_HOME\bin Path.

cd projects
mvn archetype:generate -DarchetypeGroupId=org.apache.portals.pluto.archetype -DarchetypeArtifactId=mvcbean-jsp-portlet-archetype -DarchetypeVersion=3.1.0 -DgroupId=com.mycompany -DartifactId=hello-portlet

- Enter.

pom.xml .

<finalName>${project.name}</finalName>

.

, .. pluto .

cd hello-portlet
mvn -Ppluto package

, , . .. “” .

pluto liferay-cdi liferay-spring, Liferay . .. .. , .

target/’ Java- .war .

.war webapps.

- .

.

, Firefox, Chrome. - , , , .war webapps/ . , , .

, , , , , . VIEW render , EDIT, HELP . “ ” == “ ”. .. . . ( ) , , , .

hello-portlet/ maven IntelliJ IDEA. , gradle , .. . maven.

, MVC .

, .. , portletName portletNames. , Portlet .

:

@Inject - -

@RenderMethod -

@ActionMethod - GET, POST “ ”

@ServeResourceMethod - JSON

- actionName, id. 

WAR , ..  

src/main/webapp/resources

@RenderMethod(portletNames = "HelloPortlet", include = "/WEB-INF/jsp/helloView.jsp")

<portlet:actionURL var="placeOrderURL" name="placeOrder"></portlet:actionURL>

<portlet:resourceURL var="getSettingsURL" id="getSettings"></portlet:resourceURL>

rest .

request.setAttribute JSTL (.. ) JSP

<%
   String ctxPath = request.getContextPath();
   List<String> settings = (List<String>) renderRequest.getAttribute("settings");
%>

, . , . .

, <portlet:namespace> contextPath .. id , , , .

, . React, Angular, Vue . -, .. . skinny-widgets (https://www.npmjs.com/package/skinny-widgets) - .   

GET public render parameters

@PortletConfiguration(portletName="portlet1", publicParams = {"categoryId"},
 … {   } 
)

POST , .

RenderURL renderURL = resp.createRenderURL();
MutableRenderParameters renderParams = renderURL.getRenderParameters();
String idString = renderParams.getValue(name);

Liferay ( ) , .

multipart

Part part = request.getPart("image");

“ ” , . , @PortletConfiguration, .

, PortletPreferences, .. . Apache Pluto , Liferay .

@PortletConfiguration portlet.xml, .

“ ”, demo/ . “ ?”, “ ?”.

, .. , , weld, jandex 1.2.2.Final lib/

, . , , .

- : http://bitbucket.org/finistmart

JAX-RS - MySQL c Postgres. 

: ;) .

, .

Pluto Liferay ( i7 2 U 8 Gb RAM , liferay, , ;) .

Liferay, , sourceforge.net 

Di Liferay, juru masak portlet ditempatkan di deploy / , dan juru masak server di tomcat-xyz / webapps dan untuk pengembangan yang nyaman di portlet-ext.properties Anda perlu menambahkan parameter (yang dapat di- googling ) yang menonaktifkan berbagai caching. Setelah beberapa penyesuaian, ini juga bisa menjadi pilihan yang baik untuk pengembangan.




All Articles