26
бөліп өңдейді. Бұл портлеттерді сервлеттерге қарағанды икемдірек қылады.
Портлеттің әрбір кезеңі әртүрлі операцияларды орындайды:
- Render (көрсету). Портлеттің ағымдағы күйіне байланысты портлеттің
мазмұнын құрады. Бұл кезең бір портлтте орындалған кезде осы парақшада
орналасқан басқа порттлеттерде де орындалады. Render кезеңі парақшадағы
барлық портлеттер Action немесе Event кезенің бітіргенді орындалады.
- Action (іс-қимыл). Қолданушының іс-әрекетіне жауап қайтару кезінде
портлеттің күйін өзгертетін белгілі бір операциялар орындалады. Action кезеңі
де Event кезенінің әсерінен орындалады.
- Event (оқиға). Action кезеніңде бастама алған оқиғаларды өңдейді.
Event IPC үшін қолданылады. Портлет барлық оқиғаларды өңдеп біткеннен
кейін портал парақшадағы барлық портлет үшін Render кезенің бастайды.
- Resource-serving (ресурстарды жеткізу). Өмірлік циклдің басқа
бөліктерінен тәуелсіз ресурсқа қызмет көрсетеді. Бұл портлетке парақшадағы
барлық портлеттердің Render кезеңін шақырмай-ақ динамикалық контентке
қызмет көрсетуге мүмкіндік береді. Resource-serving кезеңі AJAX
сұраныстарын өңдейді.
Портлеттің сервлеттен тағы да кілттік айырмашылықтары бар. Портлет
парақшаның тек белгілі бір бөлігін көрсеткендіктен ,
және
сияқты тегтер рұқсат етілмейді. Портлеттің алдын-ала қай парақшада
орналасатындығы белгісіз болғандықтан, портлеттің URL-адресін тікелей
құруға болмайды. Бұның орнына портлет API портлеттің URL-адресін
бағдарламалық түрде құрады. Бұдан басқа портлетте ServletRequest-ке тікелей
рұқсат жоқ, URL-ден әлме-әл сұраныс параметрлерін оқи алмайды. Бұның
орнына портлеттер PortletRequest объектісін қолданады. Портлеттің
спецификациясы портлетке тек өзінің URL параметрін оқи алатын
мезанизімін жеткізеді.
Портлеттің сервлеттен тағы бір айырмашылығы – портлет терезесінің
бірнеше режимі мен жағдайының болуы. Режим портлеттің ағымдағы
функциясын анықтайды:
- Көру режимі – портлеттің стандартты режимі. Бұл режимді
портлеттің негізгі функцияларына рұқсат алу үшін қолданылады.
- Редакциялау режимі – портлеттің конфигурациялау режимі. Бұл
режим қолданушылық көрініс немесе жұмысын баптау үшін қолданылады.
Мысалы, ауа-райы портлетін редакциялау арқылы орналасқан жерді өзгертуге
болады.
- Анықтамалық
режимі – портлеттің анықтамалық ақпаратын
көрсететін режим.
Портлет терезінің жағдайы парақшада портлет алып тұрған кеңістік
көлемімен анықталады. Терезенің жағдайы дәстүрлі жұмыс орнындағы
терезенің жағдайын қайталайды:
- Кәдімгі. Портлет басқа портлеттер бар парақшада орналаса алады.
Үнсіз келісім бойынша жағдай.
- Үлкейту. Портлет парақшаны толығымен толтырады.
27
- Кішірейту. Тек қана портлеттің тақырып жолы көрсетіледі.
Liferay-де портлет құру үшіе бірнеше технологиялар қолдануға болады.
Олардың ішінде келесілер бар:
- Liferay’s MVCPortlet
- Soy Portlet
- Spring MVC
- Liferay Faces-ті қолданып JavaServer Faces (JSF) Portlets
3.3 Service Builder. Service Builder құру
Service Builder – бұл бағдарламалаушыға болмыс деп аталатын
қолданушылық объектсінің моделін анықтауға көмектесетін Liferay жасаған
модельге негізделінетін кодты генерациялау инструменті. Service Builder
сервисті объектілі-реляциялық салыстыру (ORM-object-relational mapping)
технологиясының көмегімен құрады. Бұл технология объект моделі мен
базалық деректер қорының кодын таза бөлуді қамтамасыз етеді. Service
Builder кіріс параметрі ретінде XML-файлды қабылдайды және шығыста
қолданбаға қажетті модель деңгейін және сервисті генерациялайды. Service
Builder
деректер қорын құру, оқу, жаңарту, өшіру және іздеу
операцияларының жалпы кодын генерациялайды.
Service Builder-ді қолданудың артықшылықтары:
- Liferay-мен интеграциясы.
- Модельді, табандылықты және сервис деңгейін автоматты түрде
генерациялайды.
- Жергілікті және қашықтағы сервисті автоматты генерациялайды.
- Автоматты
генерацияланған
Hibernate
және
Spring
конфигурациялары.
- Объектілердің кіріктірілген кэштеуін қолдау.
- Қолданушылық SQL-сұраныстары мен динамикалық сұраныстарды
қолдау.
- Құрудың сақталған уақытысы.
Liferay Service Builder-ді өзінің деректер базасының кодтарын
генерациялау үшін қолданады. Нақтылы айтатын болсақ Liferay-дің
жергілікті де қашықтықтағы да сервистерін Service Builder генерациялайды.
Бұдан басқа Liferay-де сервистік модульдерді де Service Builder
генерациялайды. Service Builder-ді қолдану өте жеңіл және бағдарламалаушы
уақытысын үнемдеуге көмектемеді. Оның себебі Service Builder
бағдарламаушы орнына деректер қорына қатысты кодтың бәрін өзі жазып
береді. Сервистің базалық деңгейін құру үшін service.xml файлын құрып
Service Builder-ді жіберу жеткілікті. Нәтижесінде жоба ішінде жаңа .jar
құрылады. Генерацияланған service.jar файл құрамында модель қабаттары,
табандылықты деңгейі, қызсет көрсету деңгейі және сәйкесінше
инфраструктура болады. Модель деңгейі жоба болмысын көрсету үшін
объектіні анықтайды, табандылық деңгейі объектіні деректер базасында