الفقرة هي خادم/إطار خلفي قابل للتطوير ومتعدد الأطراف لاستمرار الكائن واسترجاعه. يساعدك على بناء تطبيقات ونموذج أولي بشكل أسرع من خلال رعاية عمليات الخلفية. يمكن أن يكون جزءًا من تطبيقك المستند إلى JVM أو يمكن نشره كخادم API مستقل ، متعدد الأطراف مع تطبيقات متعددة والعملاء الذين يتصلون به.
اسم "Pára" يعني "Steam" باللغة البلغارية. ومثلما يتم استخدام Steam لتشغيل الأشياء ، يمكنك استخدام Para لتشغيل الواجهة الخلفية للهاتف المحمول أو تطبيق الويب.
انظر كيف تقارن الفقرة بأطر أخرى مفتوحة المصدر الخلفية.
تم تمويل هذا المشروع بالكامل ودعمه من قبل Erudika - وهي شركة مستقلة ومحذية.
DAO أصلاً) +----------------------------------------------------------+
| ____ ___ _ ____ ___ _ |
| / __ / __` / ___ / __` / |
| / / _ / / / _ / / / / _ / / |
| / .___/ __ ، _/ _/ __ ، _/ +----------- +
| / _/ | الثبات |
+-------------------++---------------++-------------+
| REST API | | البحث | --- | ذاكرة التخزين المؤقت |
+---------+---------+-+--------+--------+---+------+------+
| | |
+---------+---------++--------+--------++------+------+
| طلبات موقعة | | فهرس البحث | | متجر البيانات |
| و JWT الرموز | | (أي) | | (أي) |
+----+---------^----++---------------++-------------+
| |
+---- V ---------+-----------------------------------------+
| العملاء: JavaScript ، PHP ، Java ، C#، Android ، IOS ، et al. |
+----------------------------------------------------------+
نحن نقدم دعم الاستضافة والدعم المتميز في Paraio.com حيث يمكنك تجربة Para Online مع حساب مطور مجاني. تصفح وإدارة المستخدمين والكائنات ، وقم بإجراء نسخ احتياطية وتحرير أذونات مع بضع نقرات في وحدة التحكم على الويب. من خلال الترقية إلى حساب متميز ، ستتمكن من توسيع نطاق مشاريعك لأعلى ولأسفل في ثوانٍ وإدارة تطبيقات متعددة.
application.conf .java -jar -Dconfig.file=./application.conf para-*.jarnpm install -g para-cli # run setup and set endpoint to either 'http://localhost:8080' or 'https://paraio.com'
# the keys for the root app are inside application.conf
$ para-cli setup
$ para-cli new-app "myapp" --name "My App"
بدلاً من ذلك ، يمكنك استخدام وحدة التحكم على الويب Para لإدارة البيانات ، أو دمج Para مباشرة في مشروعك مع أحد عملاء API أدناه.
تقع صور Docker الموسومة للفقرة في erudikaltd/para على Docker Hub. يوصى بشدة أن تقوم بسحب الصور فقط مثل :1.45.1 أو :latest_stable لأن :latest علامة يمكن كسرها أو غير مستقر. أولاً ، قم بإنشاء ملف application.conf ومجلد data وابدأ حاوية الفقرة:
$ touch application.conf && mkdir data
$ docker run -ti -p 8080:8080 --rm -v $(pwd)/data:/para/data
-v $(pwd)/application.conf:/para/application.conf
-e JAVA_OPTS="-Dconfig.file=/para/application.conf" erudikaltd/para:latest_stable
متغيرات البيئة
JAVA_OPTS - خصائص نظام Java ، على سبيل المثال -Dpara.port=8000 BOOT_SLEEP - تأخير بدء التشغيل ، بالثواني
الإضافات
لاستخدام المكونات الإضافية ، قم بإنشاء plugins Dockerfile-plugins جديدة تقوم ببناء متعدد المراحل مثل ذلك:
# change X.Y.Z to the version you want to use
FROM erudikaltd/para:v1.XY.Z-base AS base
FROM erudikaltd/para-search-lucene:1.XY.Z AS search
FROM erudikaltd/para-dao-mongodb:1.XY.Z AS dao
FROM base AS final
COPY --from=search /para/lib/*.jar /para/lib
COPY --from=dao /para/lib/*.jar /para/lib
ثم قم ببساطة بتشغيل $ docker build -f Dockerfile-plugins -t para-mongo .
يمكن تجميع الفقرة مع JDK 8+:
لتجميعها ستحتاج إلى Maven. بمجرد الحصول عليها ، فقط استنساخ وبناء:
$ git clone https://github.com/erudika/para.git && cd para
$ mvn install -DskipTests=true لإنشاء $ mvn package وسيكون في ./para-jar/target/para-xyz-SNAPSHOT.jar . سيتم إنشاء ملفين جرة في المجموع - الحجم الدهون أكبر قليلاً.
لإنشاء الحزمة الأساسية بدون ملحقات إضافية (يستبعد para-dao-sql و para-search-lucene ) ، قم بتشغيل:
$ cd para-jar && mvn -Pbase package
لتشغيل مثيل محلي للفقرة للتنمية ، استخدم:
$ mvn -Dconfig.file=./application.conf spring-boot:runيمكنك تشغيل الفقرة كخادم مستقل عن طريق تنزيل الجرة القابلة للتنفيذ ثم:
$ java -jar para-X.Y.Z.jarيمكنك تصفح الكائنات الخاصة بك من خلال Console.paraio.org Para Web Console.paraio.org . ما عليك سوى تغيير نقطة نهاية API لتكون الخادم المحلي الخاص بك وتوصيل مفاتيح الوصول الخاصة بك. واجهة المسؤول هي من جانب العميل فقط ولا يتم إرسال المفتاح السري الخاص بك على الشبكة. بدلاً من ذلك ، يتم إنشاء رمز الوصول إلى JWT محليًا وإرساله إلى الخادم بناءً على كل طلب.
بدلاً من ذلك ، يمكنك إنشاء ملف حرب ونشره على حاوية Servlet المفضلة لديك:
$ cd para-war && mvn package
يمكنك أيضًا دمج الفقرة مع مشروعك عن طريق إضافته كاعتماد. يتم استضافة الفقرة على Maven Central. إليك مقتطف Maven لتضمينه في pom.xml الخاص بك:
< dependency >
< groupId >com.erudika</ groupId >
< artifactId >para-server</ artifactId >
< version >{see_green_version_badge_above}</ version >
</ dependency >لبناء تطبيقات عميل خفيفة الوزن فقط التي تتصل بالفقرة ، قم بتضمين فقط وحدة العميل:
< dependency >
< groupId >com.erudika</ groupId >
< artifactId >para-client</ artifactId >
< version >{see_green_version_badge_above}</ version >
</ dependency >$ npm install -g para-cliاستخدم مكتبات العملاء هذه لدمج الفقرة بسرعة في مشروعك:
استخدم تطبيقات DAO هذه للاتصال بقواعد البيانات المختلفة:
AWSDynamoDAO (مدرج في para-server )H2DAO هو DAO الافتراضي وجزء من المكون الإضافي SQL (تم تعبئته بملف الجرة) يتم تنفيذ واجهة Search بواسطة:
يتم تنفيذ واجهة Cache بواسطة:
para-server ) يتم تنفيذ واجهة Queue بواسطة:
AWSQueueLocalQueue للنشر المفرد والتطوير المحلي 2.0 - الترحيل إلى Quarkus ، Java 13+ فقط ، صورة أصليةparapara على Stack Overflow git checkout -b my-new-feature )git commit -am 'Added a new feature' )git push origin my-new-featureيرجى محاولة احترام نمط الكود لهذا المشروع. للتحقق من الرمز الخاص بك ، قم بتشغيله من خلال مدقق النمط:
mvn validateلمزيد من المعلومات ، راجع المساهمة
Apache 2.0