αž’αŸ’αž“αž€αžŠαžΉαž€αž“αžΆαŸ† Apache PLC4X αž”αŸ’αžαžΌαžšαž‘αŸ…αž‡αžΆαž‚αŸ†αžšαžΌαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž˜αž»αžαž„αžΆαžšαž”αž„αŸ‹αž”αŸ’αžšαžΆαž€αŸ‹

Christopher Dutz αžŠαŸ‚αž›αž‡αžΆαž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαž αž“αž·αž„αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŸαŸ†αžαžΆαž“αŸ‹αž“αŸƒαžŸαŸ†αžŽαž»αŸ† Apache PLC4X αž“αŸƒαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αž§αžŸαŸ’αžŸαžΆαž αž€αž˜αŸ’αž˜ αžŠαŸ‚αž›αž€αžΆαž“αŸ‹αž˜αž»αžαžαŸ†αžŽαŸ‚αž„αž‡αžΆαž’αž“αž»αž”αŸ’αžšαž’αžΆαž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž‚αž˜αŸ’αžšαŸ„αž„ Apache PLC4X αž“αŸ… Apache Software Foundation αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž±αžŸαžΆαž“αžœαžΆαž‘αžŠαž›αŸ‹αžŸαžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜ αž™αŸ„αž„αžαžΆαž˜αž€αžΆαžšαžŠαŸ‚αž›αž‚αžΆαžαŸ‹αž”αžΆαž“αžŸαž˜αŸ’αžαŸ‚αž„αŸ” αž€αžΆαžšαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αžˆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αž·αž“αž’αžΆαž…αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž€αžΆαžšαž•αŸ’αžαž›αŸ‹αž αž·αžšαž‰αŸ’αž‰αž”αŸ’αž”αž‘αžΆαž“αžŠαž›αŸ‹αž€αžΆαžšαž„αžΆαžšαžšαž”αžŸαŸ‹αžαŸ’αž›αž½αž“αŸ”

αž€αžΆαžšαž˜αž·αž“αž–αŸαž‰αž…αž·αžαŸ’αžαž“αŸαŸ‡αž€αžΎαžαž…αŸαž‰αž–αžΈαž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Apache PLC4X αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŠαŸ‚αž›αž˜αžΆαž“αž€αž˜αŸ’αž˜αžŸαž·αž‘αŸ’αž’αž·αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžŸαžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αžŸαž“αŸ’αžŸαŸ†αž”αŸ’αžšαžΆαž€αŸ‹αžšαžΆαž”αŸ‹αžŸαž·αž”αž›αžΆαž“αž’αžΊαžšαŸ‰αžΌαž›αžΎαž€αžΆαžšαž‘αž·αž‰αž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‡αžΆαž€αžΆαžšαž†αŸ’αž›αžΎαž™αžαž”αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž˜αž·αž“αž‘αž‘αž½αž›αž”αžΆαž“αž‡αŸ†αž“αž½αž™αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž‘αŸ αž”αžΎαž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎ Apache PLC4X αž€αŸαžŠαŸ„αž™αŸ” αž‘αžΆαž˜αž‘αžΆαžšαžαŸ’αž›αŸƒαž–αž›αž€αž˜αŸ’αž˜αž…αŸ’αžšαžΎαž“ αž“αž·αž„αž€αžΆαžšαžœαž·αž“αž·αž™αŸ„αž‚αž αž·αžšαž‰αŸ’αž‰αžœαžαŸ’αžαž»αž€αŸ’αž“αž»αž„αž§αž”αž€αžšαžŽαŸ αž“αž·αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ”

αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž•αž»αžŸαž‚αŸ†αž“αž·αžαžŠαŸ„αž™αž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ„αž™αžŸαž αž‚αŸ’αžšαžΆαžŸαž§αžŸαŸ’αžŸαžΆαž αž€αž˜αŸ’αž˜αž’αŸ†αž‡αžΆαž„αž‚αŸ αž αžΎαž™αžŸαŸ†αžŽαžΎ αž“αž·αž„αžŸαŸ†αžŽαž½αžšαž˜αž½αž™αž…αŸ†αž“αž½αž“αž’αŸ†αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αž‘αž½αž›αž–αžΈαž–αž½αž€αž‚αŸ αž“αŸ…αž†αŸ’αž“αžΆαŸ† 2020 αž’αŸ’αž“αž€αž“αž·αž–αž“αŸ’αž’αž“αŸƒ PLC4X αž”αžΆαž“αž…αžΆαž€αž…αŸαž‰αž–αžΈαž€αžΆαžšαž„αžΆαžšαž…αž˜αŸ’αž”αž„αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹ αž αžΎαž™αž”αžΆαž“αž›αŸ‡αž”αž„αŸ‹αž–αŸαž›αžœαŸαž›αžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž’αž—αž·αžœαžŒαŸ’αž PLC4X αžŠαŸ„αž™αž˜αžΆαž“αž”αŸ†αžŽαž„ αžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αž”αŸ’αžšαžΆαž€αŸ‹αžŠαŸ„αž™αž€αžΆαžšαž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆαž”αŸ’αžšαžΉαž€αŸ’αžŸαžΆαž™αŸ„αž”αž›αŸ‹ αž“αž·αž„αž˜αž»αžαž„αžΆαžšαž”αŸ’αžŠαžΌαžšαžαžΆαž˜αž”αŸ†αžŽαž„αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž½αž™αž•αŸ’αž“αŸ‚αž€αžŠαŸ„αž™αžŸαžΆαžšαž€αžΆαžšαž’αŸ’αž›αžΆαž€αŸ‹αž…αž»αŸ‡αž…αŸ†αž–αŸαž›αž˜αžΆαž“αž€αžΆαžšαžšαžΆαžαžαŸ’αž”αžΆαžαž“αŸƒαž‡αŸ†αž„αžΊαž€αžΌαžœαžΈαžŠ-៑៩ αž’αŸ’αžœαžΈαŸ—αž˜αž·αž“αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αžŠαžΌαž…αž€αžΆαžšαžšαŸ†αž–αžΉαž„αž‘αž»αž€αž‘αŸ αž αžΎαž™αžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αŸ’αžŸαžΆαž—αžΆαž–αžŸαŸ’αžαž·αžαžŸαŸ’αžαŸαžš αž“αž·αž„αž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž€αŸ’αžŸαŸαž™αž’αž“ αž–αž½αž€αž‚αŸαžαŸ’αžšαžΌαžœαž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αž›αžΎαž‡αŸ†αž“αž½αž™ αž“αž·αž„αž€αžΆαžšαž„αžΆαžšαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžαŸ‚αž˜αŸ’αžαž„αŸ”

αž‡αžΆαž›αž‘αŸ’αž’αž•αž› Christopher αž’αž»αž‰αž‘αŸ’αžšαžΆαž“αŸ‹αž“αžΉαž„αž€αžΆαžšαžαŸ’αž‡αŸ‡αžαŸ’αž‡αžΆαž™αž–αŸαž›αžœαŸαž›αžΆαžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αžŠαŸ„αž™αž˜αž·αž“αž‘αž‘αž½αž›αž”αžΆαž“αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŠαŸ‚αž›αž‚αžΆαžαŸ‹αžŸαž˜αž“αžΉαž„αž‘αž‘αž½αž›αž”αžΆαž“ αž αžΎαž™αž˜αžΆαž“αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžαžΆαž’αžŸαŸ‹αž€αž˜αŸ’αž›αžΆαŸ†αž„αž€αŸ†αž–αž»αž„αžαž·αžαž‡αž·αžαž˜αž€αžŠαž›αŸ‹ αž αžΎαž™αž‚αžΆαžαŸ‹αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžˆαž”αŸ‹αž•αŸ’αžαž›αŸ‹αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŠαŸ„αž™αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαžŠαž›αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ PLC4X αž αžΎαž™αž₯αž‘αžΌαžœαž“αŸαŸ‡αž“αžΉαž„αž•αŸ’αžαž›αŸ‹αžαŸ‚αž€αžΆαžšαž”αŸ’αžšαžΉαž€αŸ’αžŸαžΆ αž€αžΆαžšαž”αžŽαŸ’αžαž»αŸ‡αž”αžŽαŸ’αžαžΆαž› αž“αž·αž„αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž›αžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž”αž„αŸ‹αž”αŸ’αžšαžΆαž€αŸ‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αž…αžΆαž”αŸ‹αž–αžΈαž–αŸαž›αž“αŸαŸ‡αžαž‘αŸ… αž‚αžΆαžαŸ‹αž“αžΉαž„αž’αž—αž·αžœαžŒαŸ’αžαžŠαŸ„αž™αž˜αž·αž“αž‚αž·αžαžαŸ’αž›αŸƒαž…αŸ†αž–αŸ„αŸ‡αžαŸ‚αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαž˜αŸ’αžšαžΌαžœαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž„αžΆαžšαžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹ αž¬αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžšαž–αž·αžŸαŸ„αž’αž“αŸ αž αžΎαž™αž€αžΆαžšαž„αžΆαžšαž›αžΎαž˜αž»αžαž„αžΆαžš αž¬αž€αžΆαžšαž‡αž½αžŸαž‡αž»αž›αžŠαŸ‚αž›αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŠαŸ„αž™αžαŸ’αž›αŸƒαžŸαŸαžœαžΆαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αžœαžΆαž“αžΉαž„αž›αŸ‚αž„αž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαžŸαžΆαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αž˜αžΈαž‘αŸ€αžαž αžΎαž™ αž“αž·αž„αž”αž„αŸ’αž€αžΎαžαž˜αŸ‰αžΌαžŒαž»αž›αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αžŠαŸ„αž™αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αžœαžαŸ’αžαž˜αž»αžαž„αžΆαžšαžαŸ’αž˜αžΈαžŠαŸ‚αž›αž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αž…αŸ†αž–αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž‚αŸ†αžšαžΌαžŠαŸ‚αž›αžšαŸ†αž›αžΉαž€αž–αžΈαž€αžΆαžšαž”αŸ’αžšαž˜αžΌαž›αžαžœαž·αž€αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αžΎαž„ αž™αŸ„αž„αž‘αŸ…αžαžΆαž˜αž‚αŸ†αž“αž·αžαžŽαžΆαž˜αž½αž™αžŠαžΎαž˜αŸ’αž”αžΈαž–αž„αŸ’αžšαžΈαž€αžŸαž˜αžαŸ’αžαž—αžΆαž–αžšαž”αžŸαŸ‹ Apache PLC4X αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžαŸ‚αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž…αŸ†αž“αž½αž“αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαž˜αžΌαž›αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αžαž›αŸ‹αž αž·αžšαž‰αŸ’αž‰αž”αŸ’αž”αž‘αžΆαž“αžŠαž›αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαŸ” αž§αž‘αžΆαž αžšαžŽαŸ Christopher αžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“αž‡αžΆαžŸαŸ’αžšαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αžœαžαŸ’αžαž‚αŸ†αž“αž·αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆ PLC4X αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž€αŸ’αž“αž»αž„ Rust, TypeScript, Python ឬ C#/.NET αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈ 20 αž–αžΆαž“αŸ‹αž’αžΊαžšαŸ‰αžΌαžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αžΎαž€αž‘αžΎαž„αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‚αž˜αŸ’αžšαŸ„αž„αžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αžΎαž„αž˜αž·αž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž•αŸ’αž“αŸ‚αž€αž αž·αžšαž‰αŸ’αž‰αžœαžαŸ’αžαž»αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αžαŸ’αž›αŸ‡αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸ„αŸ‡ Christopher αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž”αž‰αŸ’αžˆαž”αŸ‹αž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹ αž αžΎαž™αžˆαž”αŸ‹αž•αŸ’αžαž›αŸ‹αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αžŠαŸ„αž™αž•αŸ’αž“αŸ‚αž€αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αŸ” αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž™αžΎαž„αž…αžΆαŸ†αžαžΆ Apache PLC4X αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαžšαž½αž˜αž‚αŸ’αž“αžΆαž–αžΈαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž€αŸ’αž“αž»αž„αž—αžΆαžŸαžΆ Java, Go αž“αž·αž„ C αž‘αŸ…αž€αžΆαž“αŸ‹αž”αŸ’αžšαž—αŸαž‘αž§αž”αž€αžšαžŽαŸαž”αž‰αŸ’αž‡αžΆαžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαž§αžŸαŸ’αžŸαžΆαž αž€αž˜αŸ’αž˜ (PLC) αž“αž·αž„αž§αž”αž€αžšαžŽαŸ IoT αžŽαžΆαž˜αž½αž™αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž‘αž‘αž½αž›αž”αžΆαž“ αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αž‡αžΆαž˜αž½αž™αž‚αž˜αŸ’αžšαŸ„αž„αžŠαžΌαž…αž‡αžΆ Apache Calcite, Apache Camel, Apache Edgent, Apache Kafka-Connect, Apache Karaf αž“αž·αž„ Apache NiFi αŸ”

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹