エルゼビアは、科学出版における情報と分析のグローバルリーダーであり、研究者や医療従事者が科学を進歩させ、社会の利益のために健康成果を向上させるのを支援しています。
Prismaの助けを借りて、エルゼビアは科学出版プロセスを効率的かつ柔軟に近代化する過程にあります。

科学と医療の進歩への貢献
エルゼビアの、研究者と医療従事者を支援するというミッションは、出版に根ざしており、情報と分析のグローバルリーダーへと進化しました。リアルタイムで非常に多くの健康関連情報が共有される中、エルゼビアは既存の手動査読プロセスを近代化し、迅速化する時期が来たと判断しました。
査読プロセスを迅速化するアプリケーションを構築することは、エルゼビアがヘルスケア研究のリーダーであり続けるのに役立ちます。彼らは、査読プロセスをより迅速かつ効率的にするためのMinimum Viable Product(MVP)を開発するために、Serghei Ghidora(技術責任者)、Paul Foeckler(プロダクトオーナー)、およびUXデザイナーからなる小規模なプロジェクトチームを編成しました。
Prismaで強固な基盤を構築
非常に手動で、論理的に複雑な出版プロセスを合理化することは大変な仕事です。Sergheiは、柔軟であることがMVPを成功させるための鍵になると考えていました。
"迅速な行動と、ユーザーフィードバックに基づいて製品を迅速に変更できる柔軟性が非常に重要でした"
GraphQLは、複数ユーザーによるドキュメント編集に必要なネストされたデータ構造を提供しました。プロジェクトで唯一の技術担当者であるSergheiは、差別化されない作業を排除するツールが必要であることも認識していました。定義、リゾルバー、スキーマ、モデルの処理をすべて一人で行うことは、一人の開発者にとっては気が遠くなるような作業です。
"それらをすべて自分で書くのは、大変な作業です。特に、一度書くだけではないからです。書いて、リファクタリングして、変更します。うまくいかなかったものはゴミ箱に捨てます。ユーザーと再度実験する必要があります。迅速な行動と迅速な変更の柔軟性が非常に重要でした。"
GraphQLに最適なテクノロジーを探し、可能な限り手動コードを排除するために、SergheiはNexusとPrismaを発見しました。Prisma ClientとPrisma Migrateを使用することで、Sergheiは速度、開発者体験、および柔軟性を中心とした強固な基盤を築きました。
Prisma Migrateでユーザーフィードバックに迅速に対応
チームは、ユーザーのニーズとMVPの最優先機能は何かを理解するために、毎日ユーザーと話すことに焦点を当てることを望んでいました。Sergheiは、Prisma Migrateを使用して、完全にカスタマイズ可能なデータベーススキーマ移行を自動的に生成し、変更を迅速かつ手間なく実装できる自信をSergheiに与えました。
ユーザーフィードバックに基づいて、データベースエンティティの完全な削除や追加など、データベースへの変更が行われる可能性があります。Prismaがなければ、そのような変更はSergheiにリファクタリングとエラー処理により多くの時間を費やさせ、革新に費やす時間を減らしていたでしょう。
"データモデルの実験に関して言えば、移行などの処理は素晴らしいです。Prismaで何かを追加または削除でき、移行を実行すると、Prismaがすべてを自動的に実行してくれます。"
Prisma Clientで自信を持って柔軟性を維持
Prisma ClientのTypeScriptエクスペリエンスも、変更後のコードの信頼性を確保することで、開発に不可欠であることが証明されました。
"Prismaの本質は、物事を構造化するための良い方法を提供してくれることだと思います。また、TypeScriptであることも理由の一つです。そのため、見落としがありません。フロントエンドアプリケーションの型は、データベースレベルで利用可能なものと常に同期しています。これは非常に重要なことです。将来のスケーラビリティにとって重要な要素だと思います。なぜなら、常に両端が同期しているからです。"
Sergheiは、将来のスケーラビリティを維持しながら、迅速に行動できるテクノロジーを選択することの重要性を理解していました。
"現在、MVPを通じて実際の科学研究を実施しています。そして、すでに大規模で複雑な製品であるにもかかわらず、MVPは依然として機能しています。コアが非常によくできているため、重要な機能が動作しないバグはほとんどありません。そして、Prismaはその基盤のレンガの1つです。"
その柔軟性は、一人の技術責任者がわずか10ヶ月で意味のある製品を生み出すための大きな貢献要素であることが証明されました。
アプリケーションのアーキテクチャ
Prismaに加えて、SergheiはMVPを達成するために他のいくつかのテクノロジーを利用しました。プロジェクト構造は次のようになり、Prismaは複数のアプリに型を提供しています。
The Prisma & Nexusパッケージには、Prismaスキーマ、移行、およびすべてのアプリとサービスで使用される生成されたすべての型が含まれています。ラムダはPrismaクライアントをインポートし、リソースを直接更新します。この配置により、Prisma Clientのタイプセーフなデータベースアクセスにより、データベースとフロントエンドの型が同期されます。
Prismaに裏打ちされたビジネスロジックパッケージは、GraphQL APIスキーマとフロントエンドを提供します。GraphQLを備えたPrismaは、各査読に必要なデータのみが返されるようにします。APIとフロントエンドの両方をTypeScriptで記述することで、データベースアクセスを記述する際の信頼性が高まり、機能アップデートの迅速な提供が可能になります。
スキーマに破壊的な変更があった場合、TypeScriptはデータモデル型のすべてのインスタンスでエラーを発生させ、プロジェクト構造全体で簡単に識別でき、よりスムーズで柔軟な開発者エクスペリエンスが実現します。
MVPはすでにジャーナル出版ワークフローの効率向上を示しています。エルゼビアは、これまでの成果に基づいてスケールアップするための適切なテクノロジーを導入していると確信しています。
エルゼビアの初期の成功を基盤に
初期の結果に基づいて、エルゼビアは出版フローの近代化への投資を継続することを強く望んでいます。彼らは現在、製品をMVPからフルスケール本番環境対応へと移行させています。
Prismaのようなツールを活用することで、エルゼビアのチームは、オンラインレビューフローを通じてより多くの科学出版物を促進するための、より役立つツールを構築できます。
Prismaが柔軟性と生産性の向上にどのように役立つかについて詳しく知りたい場合は、Prisma Slackコミュニティに参加してください。
次の投稿をお見逃しなく!
Prismaニュースレターに登録する